FS =44100; %Sample rate Frequncy
fc = 1000; %1khz
fe = 3000; %外部輸入信號 3khz
N = 1024;
Q =16;
%波形產(chǎn)生
sin_osc =sin(t*fc);
sin_e =sin(t*fe);
sin_add = sin_osc sin_e;
%IIR 濾波器系數(shù)(低通濾波器)
[b a] = butter(3,fc/(FS/2),'low');
%濾波(混頻后)
y = filter(b,a,sin_add);
f_osc =fft(sin_osc,N);
f_osc=20*log(abs(f_osc))/log(10); %換算成dBW單位
ft=[0:(FS/N):FS/2]; %轉(zhuǎn)換橫坐標(biāo)以Hz為單位
f_osc=f_osc(1:length(ft));
%濾波器系數(shù)量化
Mab =max(max(abs(a),abs(b)));
%16bit 量化
Qb = round((b/Mab)*(2^(Q-1)-1));
Qa = round((a/Mab)*(2^(Q-1)-1));
%%%%
Qm =floor(log2(Mab/a(1)));
if Qm<log2(Mab/a(1))
Qm = Qm 1;
end
Qm = 2^Qm;
Qb1=round(b/Qm*(2^(Q-1)-1));
Qa1=round(a/Qm*(2^(Q-1)-1));
%繪圖
%時(shí)域波形圖
figure(1),
hold on
subplot(221),plot(t(1:128),sin_osc(1:128),'-');
legend('sin 1khz');title('sin 1khz');
subplot(222),plot(t(1:128),sin_e(1:128),'-');
legend('sin 3khz');title('sin 3khz');
subplot(223),plot(t(1:128),sin_add(1:128),'-');
legend('sin 1khz add 3khz');title('sin 1khz add 3khz');
subplot(224),plot(t(1:128),y(1:128),'-');
legend('LPF 結(jié)果');title('LPF 結(jié)果');
grid;
hold off
%頻域波形
figure(2),
hold on
subplot(221);plot(ft,f_osc);
xlabel('頻率(Hz)','fontsize',8); ylabel('功率(dBW)','fontsize',8);
title('信號頻譜圖 2KHZ','fontsize',8);legend('sinosc');
subplot(222);plot(ft,f_e);
xlabel('頻率(Hz)','fontsize',8); ylabel('功率(dBW)','fontsize',8);
title('信號頻譜圖3KHZ','fontsize',8);legend('sine');
subplot(223);plot(ft,f_add);
xlabel('頻率(Hz)','fontsize',8); ylabel('功率(dBW)','fontsize',8);
title('信號頻譜圖2KHZ 和 3KHZ','fontsize',8);legend('sin add');
subplot(224);plot(ft,y_f);
xlabel('頻率(Hz)','fontsize',8); ylabel('功率(dBW)','fontsize',8);
title('信號頻譜圖濾波后','fontsize',8);legend('LPF結(jié)果');
hold off
%幅頻響應(yīng)
figure(3);
subplot(211);stem(Fb);
title('Fb單位抽樣響應(yīng)','fontsize',8);
subplot(212);plot(f,mag);
xlabel('頻率(Hz)','fontsize',8);
ylabel('幅度(dB)','fontsize',8);
title('freqz()幅頻響應(yīng)','fontsize',8);
圖5 matlab時(shí)域波形如圖5所示,(5,1)波形加(5,2)波形得到(5,3)波形,經(jīng)過IIR濾波器后得到(5,4)時(shí)域波形。
圖6 matlab頻域分析如圖6所示,(6,3)與(6,4)相比3khz大概被削弱25DB左右。
圖7 IIR幅頻響應(yīng)分析
如圖7所示,通過幅頻響應(yīng)(7,2)可知3khz所在位置大概被削弱25DB。
4 FPGA設(shè)計(jì)驗(yàn)證
FPGA IIR.v設(shè)計(jì)源碼:
`timescale 1ps/1ps
module iir(
input mclk,//45.1584MHZ
input reset_n,
input signed[31:0] pcm_in,
output signed[31:0] pcm_out
);
localparam LAST_CYCLE = 1023;
reg [9:0] i;
wire signed [15:0] b1,b2,b3,b4;
wire signed [15:0] a2,a3,a4;
wire signed [31:0] xn;
reg signed [31:0] xn1,xn2,xn3;
reg signed [31:0] yn,yn1,yn2,yn3;
reg signed [47:0] r_x1;
reg signed [47:0] r_x2;
reg signed [47:0] r_y;
reg signed [47:0] r_s;
reg signed [47:0] r_s1;
//coffe b
assign b1 = 3;
assign b2 = 8;
assign b3 = 8;
assign b4 = 3;
//coffe a
assign a2 = -22243;
assign a3 = 20231;
assign a4 = -6159;
assign xn = pcm_in;
assign pcm_out = yn;
always @(posedge mclk or negedge reset_n) begin
if(reset_n == 1'b0) begin
i <= 0;
xn1 <= 0;
xn2 <= 0;
xn3 <= 0;
yn <= 0;
yn1 <= 0;
yn2 <= 0;
yn3 <= 0;
r_x1 <= 0;
r_x2 <= 0;
r_y <= 0;
r_s <= 0;
r_s1 <= 0;
end
else begin
i<= i 1;
if(i==1) begin
r_x1 <= b1*(xn xn3);
r_x2 <= b2*(xn1 xn2);//Zero(n)
r_y <= a2*yn1 a3*yn2 a4*yn3;//Pole(n)
$display("r_x1 = %d,r_x2 = %d,r_y = %d",r_x1,r_x2,r_y);
end
if(i==2) begin
r_s <= r_x1 r_x2 - r_y;//8192y(n) = Zero(n)-Pole(n)
$display("%d",r_s);
end
if(i==3) r_s1 <= (r_s>>13);
if(i==4) yn <= r_s1[31:0];
if(i==5) begin //pipeline
xn1 <= xn;
xn2 <= xn1;
xn3 <= xn2;
yn1 <= yn;
yn2 <= yn1;
yn3 <= yn2;
end
end
end
Endmodule
實(shí)驗(yàn)結(jié)果:
Modelsim波
圖8 modelsim 時(shí)域波形由圖8可知,pcm_out1(1khz 3khz)經(jīng)過IIR濾波器后濾除了3khz,設(shè)計(jì)成功。
Matlab結(jié)果分析:
圖9 FPGA輸入波形matlab時(shí)域分析
圖10 FPGA結(jié)果數(shù)據(jù)分析由圖10的頻域分析結(jié)果可知3khz大概被削弱25db左右,設(shè)計(jì)成功。
感謝閱讀,別走!點(diǎn)贊、關(guān)注、轉(zhuǎn)發(fā)后再走吧
根據(jù)交通運(yùn)輸部水運(yùn)科學(xué)研究院提出的智慧港口的概念,智慧港口是利用新一代信息技術(shù),將港口相關(guān)業(yè)務(wù)和管理創(chuàng)新深度融合,使港口更加集約、高效、便捷、安全、綠色,創(chuàng)新港口發(fā)展模式,實(shí)現(xiàn)港口科學(xué)可持續(xù)發(fā)展。
關(guān)鍵字: 智慧港口 信息技術(shù) 業(yè)務(wù)按企業(yè)主營業(yè)務(wù)類型分,我國智能家居行業(yè)競爭派系可分為傳統(tǒng)家電企業(yè)、互聯(lián)網(wǎng)企業(yè)以及其他企業(yè)三派。傳統(tǒng)家電企業(yè)代表有海爾智家、美的集團(tuán)、格力電器等,具有供應(yīng)鏈和銷售渠道,制造能力和品牌優(yōu)勢突出;互聯(lián)網(wǎng)企業(yè)代表有小米集團(tuán)、百度...
關(guān)鍵字: 智能家居 互聯(lián)網(wǎng)企業(yè) 供應(yīng)鏈軍工電子是集紅外技術(shù)、激光技術(shù)、半導(dǎo)體及嵌入式技術(shù)與虛擬仿真技術(shù)為一體的綜合性軍工技術(shù)體系,是國防信息化建設(shè)的基石。軍工電子行業(yè)包含在軍工行業(yè)內(nèi),專注于軍工行業(yè)電子產(chǎn)品布局。根據(jù)其軍工產(chǎn)品的不同可分為衛(wèi)星導(dǎo)航、通信指揮、...
關(guān)鍵字: 軍工電子 嵌入式技術(shù) 信息化建設(shè)我國汽車零配件行業(yè)細(xì)分種類眾多,從汽車零配件主要產(chǎn)品來看,發(fā)動(dòng)機(jī)系統(tǒng)行業(yè)內(nèi)有濰柴動(dòng)力、華域汽車等主要從業(yè)企業(yè);在車身零部件領(lǐng)域內(nèi),福耀玻璃、中策橡膠具有一定的規(guī)模優(yōu)勢;行駛系統(tǒng)領(lǐng)域內(nèi)有中策橡膠提供的輪胎以及華為等企業(yè)提供...
關(guān)鍵字: 汽車零配件 發(fā)動(dòng)機(jī) 行駛系統(tǒng)全球液壓行業(yè)專利技術(shù)在21世紀(jì)初得到初步發(fā)展,這一時(shí)期液壓專利申請人數(shù)量和申請量處于較低水平。2011-2012年,液壓行業(yè)專利技術(shù)的發(fā)展總體處于成長期,2012年以后中全球液壓行業(yè)專利技術(shù)申請量或申請人數(shù)量整體處于波動(dòng)...
關(guān)鍵字: 液壓行業(yè) 專利授權(quán) 技術(shù)類型