偶數(shù)分頻器的如何設計?代碼如何實現(xiàn)?
一直以來,分頻器都是大家的關注焦點之一。因此針對大家的興趣點所在,小編將為大家?guī)砼紨?shù)分頻器的技術設計和代碼實現(xiàn)的相關內(nèi)容,詳細內(nèi)容請看下文。
一、分頻器原理
從電路結構來看,分頻器本質(zhì)上是由電容器和電感線圈構成的LC濾波網(wǎng)絡,高音通道是高通濾波器,它只讓高頻信號通過而阻止低頻信號;低音通道正好相反,它只讓低頻信號通過而阻止高頻信號;中音通道則是一個帶通濾波器,除了一低一高兩個分頻點之間的頻率可以通過,高頻成份和低頻成份都將被阻止。在實際的分頻器中,有時為了平衡高、低音單元之間的靈敏度差異,還要加入衰減電阻;另外,有些分頻器中還加入了由電阻、電容構成的阻抗補償網(wǎng)絡,其目的是使音箱的阻抗曲線平坦一些,以便于功放驅(qū)動。
位于功率放大器之后,設置在音箱內(nèi),通過LC濾波網(wǎng)絡,將功率放大器輸出的功率音頻信號分為低音,中音和高音,分別送至各自揚聲器。連接簡單,使用方便,但消耗功率,出現(xiàn)音頻谷點,產(chǎn)生交叉失真,它的參數(shù)與揚聲器阻抗有直接的關系,而揚聲器的阻抗又是頻率的函數(shù),與標稱值偏離較大,因此誤差也較大,不利于調(diào)整。
將音頻弱信號進行分頻的設備,位于功率放大器前,分頻后再用各自獨立的功率放大器,把每一個音頻頻段信號給予放大,然后分別送到相應的揚聲器單元。因電流較小故可用較小功率的電子有源濾波器實現(xiàn),調(diào)整較容易,減少功率損耗,及揚聲器單元之間的干擾。使得信號損失小,音質(zhì)好。但此方式每路要用獨立的功率放大器,成本高,電路結構復雜,運用于專業(yè)擴聲系統(tǒng)。
二、偶數(shù)分頻器設計方法和代碼實現(xiàn)
1、設計方法
2分頻時鐘設計,只需要循環(huán)計數(shù)0~1,計數(shù)為0時輸出低電平,計數(shù)為1時輸出高電平。
4分頻時鐘設計,只需要循環(huán)計數(shù)0~3,計數(shù)為0和1時輸出低電平,計數(shù)為2和3時輸出高電平。
8分頻時鐘設計,只需要循環(huán)計數(shù)07,計數(shù)為03時輸出低電平,計數(shù)為4~7時輸出高電平。
下圖分別畫出了基準時鐘、2分頻時鐘、4分頻時鐘、8分頻時鐘。
由此可以推導出,偶數(shù)分頻設計的方法:設為2N分頻,只需設計一個計數(shù)器在上升沿時循環(huán)計數(shù)0N-1,每隔0N-1時輸出翻轉一次。
2、verilog代碼實現(xiàn)
任意偶數(shù)分頻設計,可通過設置參數(shù)NUM,設定分頻數(shù),具體代碼如下所示:
module clk_divider_even#(parameter NUM = 8)(input clk,input rst,output reg clk_o);//參數(shù)定義
localparam WIDTH = $clog2(NUM);
localparam CNT_END = NUM/2 - 1;
reg [WIDTH-1:0] cnt;//計數(shù)模塊
always@(posedge clk or posedge rst)beginif(rst)cnt <= 'b0;else if(cnt == CNT_END) //計滿則清零
cnt <= 'b0;elsecnt <= cnt + 1'b1;end//分頻時鐘輸出模塊
always@(posedge clk or posedge rst)beginif(rst)clk_o <= 1'b0;
else if(cnt == CNT_END) //計滿則輸出反轉clk_o <= ~clk_o;
elseclk_o<= clk_o;
endendmodule仿真測試結果圖:
從圖中看出,輸出了8分頻時鐘信號,與預期一致。
上述所有信息便是小編這次為大家推薦的有關分頻器的內(nèi)容,希望大家能夠喜歡,想了解更多有關它的信息或者其它內(nèi)容,請關注我們網(wǎng)站哦。
20240610_6666d266ed18c__000