基于FPGA的多級CIC濾波器實現(xiàn)四倍抽取二
掃描二維碼
隨時隨地手機看文章
基于FPGA的多級CIC濾波器實現(xiàn)四倍抽取二
在實現(xiàn)多級CIC濾波器前我們先來了解滑動平均濾波器、微分器、積分器以及梳狀濾波器原理。CIC濾波器在通信信號處理中有著重要的應用。
上一篇在《基于FPGA的多級CIC濾波器實現(xiàn)四倍抽取一》中介紹了滑動平均濾波器、微分器、積分器的原理,這篇文章來介紹梳狀濾波器以及積分梳狀濾波器,為up sample rate convert 和 down sample rate convert 的FPGA實現(xiàn)打下基礎。
1 梳狀濾波器
圖1 梳狀濾波器結(jié)構(gòu)
梳狀濾波器的兩端為1和-1的權(quán)值,具有簡單的多信道頻率響應。
Matlab:
close all
clear all
Clc
%set system parameter
Fs = 352800; %sampling frequency
L = 8192;
%comb
b =[1,0,0,0,0,0,0,0,-1];
a =1;
%頻率響應和相位響應
[h,f]=freqz(b,a,L,Fs); %freqz函數(shù)求頻率響應
mag=20*log(abs(h))/log(10); %幅度轉(zhuǎn)換成dB單位
ph=angle(h)*180/pi; %相位值單位轉(zhuǎn)換
figure(1),
subplot(211);plot(f,mag);
xlabel('頻率(Hz)','fontsize',8);
ylabel('幅度(dB)','fontsize',8);
title('freqz()幅頻響應','fontsize',8);
subplot(212);plot(f,ph);
xlabel('頻率(Hz)','fontsize',8);
ylabel('相位(度)','fontsize',8);
title('freqz()相頻響應','fontsize',8);
圖2 梳狀濾波器的頻率響應和相位響應
因為濾波器的幅頻響應像一把梳子,所以稱作梳狀濾波器。
2 積分梳狀濾波器
圖3 積分梳狀濾波器結(jié)構(gòu)
積分器和梳狀濾波器的級聯(lián)就是積分梳狀(Integrator-Comb)濾波器。
Matlab:
close all
clear all
clc
%set system parameter
Fs = 44100; %sampling frequency
L = 8192;
%Integerator+comb
b =[1,0,0,0,0,0,0,0,-1];
a =[1,-1];
%頻率響應和相位響應
[h,f]=freqz(b,a,L,Fs); %freqz函數(shù)求頻率響應
mag=20*log(abs(h))/log(10); %幅度轉(zhuǎn)換成dB單位
mag = mag -max(mag)
ph=angle(h)*180/pi; %相位值單位轉(zhuǎn)換
figure(1),
subplot(211);plot(f,mag);
xlabel('頻率(Hz)','fontsize',8);
ylabel('幅度(dB)','fontsize',8);
title('freqz()幅頻響應','fontsize',8);
subplot(212);plot(f,ph);
xlabel('頻率(Hz)','fontsize',8);
ylabel('相位(度)','fontsize',8);
title('freqz()相頻響應','fontsize',8);
圖4 積分梳狀濾波器的頻率響應和相位響應
圖5 五級IC串聯(lián)
如圖5所示,5個積分梳狀濾波器級聯(lián)的幅頻響應如圖6所示。
圖6 五級積分梳狀濾波器串聯(lián)幅頻響應