几种频率意义
实际物理频率表示AD采集物理信号的频率,fs为采样频率,由奈奎斯特采样定理可以知道,fs必须≥信号最高频率的2倍才不会发生信号混叠,因此fs能采样到的信号最高频率为fs/2。
f
s
⩾
2
f
c
f_s\geqslant2f_c
fs⩾2fc
角频率是物理频率的2pi倍,这个也称模拟频率。
Ω
=
2
π
f
\Omega=2\pi f
Ω=2πf
归一化数字频率和模拟频率之间的关系,一般在matlab里只显示0-π的归一化数字频率,另一半就不看了
Ω
=
ω
T
\Omega=\frac{\omega}{T}
Ω=Tω
归一化频率是将物理频率按fs归一化之后的结果,最高的信号频率为fs/2对应归一化频率0.5,这也就是为什么在matlab的fdtool工具中
ω
n
=
ω
c
f
s
2
\omega_n=\frac{\omega_c}{\frac{fs}{2}}
ωn=2fsωc
圆周频率是归一化频率的2pi倍,这个也称数字频率。
IIR滤波器设计
通过使用现有的模拟滤波器来进行逼近设计(如巴特沃斯滤波器和切比雪夫滤波器)
冲激响应不变法
依旧是时域逼近,s域用部分分时展开法,来匹配
阶跃响应不变法
是用来逼近时域内的响应函数(s),再通过反变换求出频响
优点:模拟频率增加,混叠现象比冲激响应不变发要小
双线性变换法
FIR滤波器的设计
1、滤波器阶次越高(fir滤波器用到的点数N),延时越大
2、通常来说FIR滤波器比IIR滤波器的要高,同样的性能下,因为IIR用到了前面的输入
频率抽样法设计
就是先模拟出理想的响应,然后通过反变换来设计
Matlab调用的函数fir2来实现设计
b = fir2(n,f,m)
variable:f-指定的幅频响应特性,归一化数字频率
returns an nth-order FIR filter with frequency-magnitude characteristics specified in the vectors f and m. The function linearly interpolates the desired frequency response onto a dense grid and then uses the inverse Fourier transform and a Hamming window to obtain the filter coefficients.
返回具有向量f和m中指定的频率幅度特性的N阶FIR滤波器。该函数将所需频率响应线性插值到密集网格上,然后使用傅里叶逆变换和汉明窗获得滤波器系数
freqz(n)
n-滤波器
显示滤波器的幅频响应和相频响应
MATLAB程序
设计了个带通滤波器,阻带衰减为-50db,通带为[0.2,0.3],[0.6,0.8],对应到的模拟频率为[0.2*fs],以下程序中可以看到,fs为采样频率=2khz,模拟频率可以通过的就是400-600π rad/s,1200-1800π rad/s,查看下图对应数字频率的通带衰减和阻带衰减,这是重要的滤波器指标,以及过渡带宽,过渡带宽就是从给定的截止频率到最小的第一次拐点的位置,我们可以看到,由于点数较少,过渡带宽较大
%信号的抽样
%频率抽样法进行设计
%归一化频率对应理想滤波器的响应
close all
f=[0 0.19 0.2 0.3 0.31 0.59 0.6 0.8 0.81 1];
%理想滤波器响应
m=[0 0 1 1 0 0 1 1 0 0];
%滤波器的阶数(就是用到的点数)
N1=30;
N2=60;
%滤波器设计
filter1=fir2(N1,f,m);
filter2=fir2(N2,f,m);
subplot(311);
stem(filter1,'.');
subplot(312);
stem(filter2,'.');
freqz(filter1);
%验证该滤波器的响应
% 信号采样
Ts=0.0005;
n=0:1/Ts;
nTs=n*Ts;
Yn=-2*cos(1400*pi*nTs)+sin(30*pi*nTs);
t=0:0.0005:1;
y=-2*cos(1400*pi*t)+sin(30*pi*t);
figure;
plot(t,y,'g','linewidth',2),hold on;
stem(nTs,Yn),grid on;
xlabel('nTs');ylabel('Y(nTs)');
% 过滤后的信号和原信号之间的对比
% 查看群时延
figure,grpdelay(filter1);
outut=conv(Yn,filter1);
figure;
subplot(211);
plot(outut);
hold on,plot(-2*cos(1400*pi*(t-15)));
subplot(212);
plot(Yn);
窗函数法设计
可以利用Matlab提供的工具来进行设计
第一种情况:知道指定频率来进行设计
第二种情况:根据统计频率的比例来进行阈值设定,归一化频率,比例来设定
利用Matlab的simulink来进行设计
第一种在Frequency Specifications里设计采样频率和截止频率,需要注意采样频率要和输入信号的采样频率相同,截止频率要小于采样频率的一半,可以设定采样频率的阶数;另一种方法是给定滤波器的性能指标,用等纹波方法来评估阶数以及用其方法来进行相关指标设计
第二种方法是根据频率的归一化特性来分类,是指定能量不同,但是变化相同的情况来进行区分