色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于FPGA的IIR數字濾波器設計

FPGA之家 ? 來源: FPGA開源工作室 ? 2023-09-07 09:51 ? 次閱讀

IIR(Infinite Impulse Response)無線脈沖響應濾波器

系統傳遞函數為:

3cd08684-4d0f-11ee-a25d-92fbcf53809c.png

系統的差分方程可寫為:

3ce7a346-4d0f-11ee-a25d-92fbcf53809c.png

IIR優缺點:
1)在相同的幅頻條件下,濾波器階數比FIR濾波器低。
2)IIR濾波器占用的硬件資源比較少(相比FIR濾波器)。
3)不具備嚴格的線性相位特性。

1 IIR數字濾波器的基本結構及類型

3cf4afaa-4d0f-11ee-a25d-92fbcf53809c.png

圖1 直接I型

3d069896-4d0f-11ee-a25d-92fbcf53809c.png

圖2 直接II型

3d279e9c-4d0f-11ee-a25d-92fbcf53809c.png

圖3 級聯型

3d344886-4d0f-11ee-a25d-92fbcf53809c.png

圖4 并聯型

2 設計目標

采用matlab buffer函數設計一個IIR濾波器低通濾波器,通帶截止頻率為1khz,輸入信號為1khz+3khz sin波形,經過IIR濾波器后輸出為1KHZ sin波,其他不做要求。(本文只對IIR設計思想進行驗證不做性能要求)。

3 matlab的設計驗證

Matlab源碼:

%參數定義

FS =44100; %Sample rate Frequncy
fc = 1000; %1khz
fe = 3000; %外部輸入信號  3khz
N = 1024;
Q =16;

%波形產生

sin_osc =sin(t*fc);
sin_e =sin(t*fe);
sin_add = sin_osc+sin_e;

%IIR 濾波器系數(低通濾波器)

[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];              %轉換橫坐標以Hz為單位
f_osc=f_osc(1:length(ft));

%濾波器系數量化

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

%繪圖
%時域波形圖

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 結果');title('LPF 結果');
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結果');
hold off

%幅頻響應

figure(3);
subplot(211);stem(Fb);
title('Fb單位抽樣響應','fontsize',8);
subplot(212);plot(f,mag);
xlabel('頻率(Hz)','fontsize',8);
ylabel('幅度(dB)','fontsize',8);
title('freqz()幅頻響應','fontsize',8);

3d4ef2d0-4d0f-11ee-a25d-92fbcf53809c.jpg

圖5 matlab時域波形

如圖5所示,(5,1)波形加(5,2)波形得到(5,3)波形,經過IIR濾波器后得到(5,4)時域波形。

3d81f5e0-4d0f-11ee-a25d-92fbcf53809c.jpg

圖6 matlab頻域分析

如圖6所示,(6,3)與(6,4)相比3khz大概被削弱25DB左右。

3da0e02c-4d0f-11ee-a25d-92fbcf53809c.jpg
圖7 IIR幅頻響應分析

如圖7所示,通過幅頻響應(7,2)可知3khz所在位置大概被削弱25DB。

4 FPGA設計驗證

FPGA IIR.v設計源碼:

`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

實驗結果:
Modelsim

3dac0358-4d0f-11ee-a25d-92fbcf53809c.jpg

圖8 modelsim 時域波形

由圖8可知,pcm_out1(1khz + 3khz)經過IIR濾波器后濾除了3khz,設計成功。
Matlab結果分析:
3de160d4-4d0f-11ee-a25d-92fbcf53809c.jpg

圖9 FPGA輸入波形matlab時域分析

3e0768c4-4d0f-11ee-a25d-92fbcf53809c.jpg

圖10 FPGA結果數據分析

由圖10的頻域分析結果可知3khz大概被削弱25db左右,設計成功。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1629

    文章

    21729

    瀏覽量

    603002
  • matlab
    +關注

    關注

    185

    文章

    2974

    瀏覽量

    230385
  • 濾波器
    +關注

    關注

    161

    文章

    7795

    瀏覽量

    177996
  • 數字濾波器
    +關注

    關注

    4

    文章

    270

    瀏覽量

    47016
  • IIR
    IIR
    +關注

    關注

    1

    文章

    61

    瀏覽量

    22837

原文標題:基于FPGA IIR數字濾波器的設計

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于FPGA和MATLAB實現IIR數字濾波器的設計和仿真驗證分析

    IIR數字濾波器在很多領域中都有著廣闊的應用。與FIR數字濾波器相比,IIR數字濾波器可以用較低的階數獲得較高的選擇性,而且所用存儲單元少,
    發表于 07-23 17:05 ?2771次閱讀
    基于<b class='flag-5'>FPGA</b>和MATLAB實現<b class='flag-5'>IIR</b><b class='flag-5'>數字濾波器</b>的設計和仿真驗證分析

    IIR數字濾波器的Matlab和FPGA實現

    本帖最后由 eehome 于 2013-1-5 10:01 編輯 IIR數字濾波器的Matlab和FPGA實現
    發表于 08-20 22:16

    基于FPGAIIR數字濾波器的設計和實現方法介紹

    1.引言數字濾波器在通信、自動控制、雷達、軍事、航空航天、醫療、家用電器等眾多領域得到了廣泛的應用。其中IIR數字濾波器和FIR數字濾波器是目前人們使用較多的兩種。
    發表于 07-08 07:18

    基于FPGAIIR數字濾波器的快捷設計

    詳細討論了IIR數字濾波器從MATLAB設計到FPGA實現的整個過程,提出了用遞推算法解決實現過程中一些關鍵問題的方法,并在modelsim上進行了仿真袁最終在以Xilinx公司的FPGA
    發表于 03-07 10:09 ?7次下載

    IIR數字濾波器的設計

    實驗 IIR數字濾波器的設計 一、實驗目的 1.掌握雙線性變換法及脈沖相應不變法設計IIR數字濾波器的具體設計方法及其原理,熟悉用雙線性變換法及脈沖響應不變法設計
    發表于 05-10 09:46 ?134次下載

    IIR數字濾波器設計-在FPGA上實現任意階IIR數字濾波器

    IIR數字濾波器設計-在FPGA上實現任意階IIR數字濾波器 摘 要:本文介紹了一種采用級聯結構在FP
    發表于 01-16 09:45 ?2520次閱讀
    <b class='flag-5'>IIR</b><b class='flag-5'>數字濾波器</b>設計-在<b class='flag-5'>FPGA</b>上實現任意階<b class='flag-5'>IIR</b><b class='flag-5'>數字濾波器</b>

    FPGA設計的四階IIR數字濾波器

    FPGA設計的四階IIR數字濾波器 常用的數字濾波器有FIR數字濾波器IIR
    發表于 01-16 18:15 ?1411次閱讀
    用<b class='flag-5'>FPGA</b>設計的四階<b class='flag-5'>IIR</b><b class='flag-5'>數字濾波器</b>

    IIR數字濾波器設計

    介紹IIR數字濾波器設計的相關知識 有興趣的下來看看
    發表于 12-25 10:39 ?11次下載

    基于LabVIEW平臺的IIR數字濾波器設計

    基于LabVIEW平臺的IIR數字濾波器設計
    發表于 01-20 16:27 ?43次下載

    IIR數字濾波器FPGA實現

    本文檔內容介紹了基于IIR數字濾波器FPGA實現,供參考
    發表于 03-02 13:45 ?36次下載

    基于級聯結構和VHDL語言的IIR數字濾波器FPGA上實現設計

    IIR數字濾波器在很多領域中有著廣闊的應用。與FIR數字濾波器相比,它可以用較低的階數獲得高選擇性,所用存儲單元少,經濟而效率高,在相同門級規模和相同時鐘速度下可以提供更好的帶外衰減特性。下面介紹一種在
    發表于 03-04 10:32 ?2109次閱讀
    基于級聯結構和VHDL語言的<b class='flag-5'>IIR</b><b class='flag-5'>數字濾波器</b>在<b class='flag-5'>FPGA</b>上實現設計

    如何使用FPGA實現IIR數字濾波器的設計

    數字濾波器在通信、自動控制、雷達、軍事、航空航天、醫療、家用電器等眾多領域得到了廣泛的應用。其中IIR數字濾波器和FIR數字濾波器是目前人們使用較多的兩種。
    發表于 08-06 18:50 ?3次下載
    如何使用<b class='flag-5'>FPGA</b>實現<b class='flag-5'>IIR</b><b class='flag-5'>數字濾波器</b>的設計

    IIR數字濾波器FPGA實現

    一、關于IIR數字濾波器 當然關于IIR濾波器的知識,想必大家在教材上都已經很熟了,這里我就簡單說一下自己的理解好了。 正如前面說的,IIR
    的頭像 發表于 04-04 12:21 ?1.2w次閱讀
    <b class='flag-5'>IIR</b><b class='flag-5'>數字濾波器</b>的<b class='flag-5'>FPGA</b>實現

    FIR數字濾波器設計

    數字濾波器的輸入輸出均為數字信號,信號通過數字濾波器后,可以改變頻率成分的相對比例或濾除某些頻率成分。數字濾波器可以分為IIR
    的頭像 發表于 04-05 09:47 ?5648次閱讀

    IIR數字濾波器時域濾波效果

    電子發燒友網站提供《IIR數字濾波器時域濾波效果.pdf》資料免費下載
    發表于 11-18 09:58 ?1次下載
    <b class='flag-5'>IIR</b><b class='flag-5'>數字濾波器</b>時域<b class='flag-5'>濾波</b>效果
    主站蜘蛛池模板: 小sao货水好多真紧h的视频| 把手戳进美女尿口里动态图| 无套内射CHINESEHD熟女| 国产欧美一区二区三区在线看| AV无码九九久久| 在线免费观看视频a| 亚洲视频中文字幕| 亚洲国产精品嫩草影院| 色综合久久五月| 小xav导航| 99视频精品全部 国产| 国内视频在线精品一区| 交换年轻夫妇HD中文字幕 | 国产三级在线观看视频| 欧美白人极品性喷潮| 日日夜夜影院在线播放| 小学生偷拍妈妈视频遭性教育 | 天美传媒在线观看完整高清 | 亚洲精品一线二线三线无人区| 亚洲精品久久久992KVTV| 俄罗斯mm| 九九热这里有精品| 内射老妇BBX| 亚洲国产成人精品无码区APP| 成年AV动漫| 久久99视热频国只有精品| 无码国产伦一区二区三区视频| jiapanese50欧美熟妇| 寂寞夜晚免费观看视频| 亚洲国产精品无码中文字幕| 国产精品人妻系列21P| 龙岩综合频道| 天美传媒 免费观看| 国产精品久久久久久精品...| 色噜噜狠狠一区二区三区| 成人免费视频在线播放| 麻豆高潮AV久久久久久久| 试看2分钟AA片| JAPANRCEP老熟妇乱子伦视频| 欧美做真爱欧免费看| 亚洲无吗视频|