给定一个理想高通fir滤波器的频率特性。
若用窗函数设计具有线性相位的滤波器。假定滤波器系数的长度为29点,即m/2=14。
高通滤波器的理论推导:
1、设计过程:
为了保证设计出的滤波器具有线性相位,滤波器必须符合四种情况的一种,由于第一种类型均满足四种类型滤波器设计要求,在这里为偶函数、n为奇数,属于第一种情况。由滤波器的频率特性可得:
1、用矩形窗设计滤波器:
因为n=29,m=n-1=28,故关于第14点对称,并且有。
则只算出对称点及左侧的值即可,用下列指令可算出序列各点值:
n=28;n1=[0:13];n2=14;n3=[15:28];
yn1=(sin(pi*(n1-n/2))-sin(pi/4*(n1-n/2)))pi*(n1-n/2))
yn2=3/4
其值如下:2、用汉明窗设计滤波器。
则只算出对称点及左侧的值即可,用下列指令可算出序列各点值:
n1=[0:13];n2=14;n3=[15:28];
yn1=(sin(pi*(n1-n/2))-sin(pi/4*(n1-n/2)))pi*(n1-n/2));
zn1=yn1.*(0.54-0.46*cos(2*n1*pi./n
zn2=3/4
其值如下:调用matlab程序实现窗函数法:
1.用矩形窗设计滤波器的频率响应曲线的程序如下:
由于滤波器设计的中间值是取极限得到的,用matlab不能计算极限值,故画函数图形时要分段进行。
n1=[0:13];
n2=14;
n3=[15:28];
yn1=(sin(pi*(n1-14))-sin(pi/4*(n1-14)))pi*(n1-14));
yn2=3/4;%由理论推导得出的值:
yn3=(sin(pi*(n3-14))-sin(pi/4*(n3-14)))pi*(n3-14));
yn=[yn1,yn2,yn3];
freqz(yn,1,3072,1)
结果如图:由上图可知,用矩形窗函数对函数进行加窗后,其幅频响应有较多的旁瓣,阻带纹波较大,且衰减较小,其相频响应在通带为一线性相位,在阻带由于有纹波现象,在每一个阻带纹波内都与通带有相同的线性相位。
2.用汉明窗设计滤波器的频率响应曲线的程序如下:
n1=[0:13];
n2=14;
n3=[15:28];
yn1=(sin(pi*(n1-14))-sin(pi/4*(n1-14)))pi*(n1-14))
*(0.54-0.46*cos(2*n1*pi./28));
yn2=3/4;
yn3=(sin(pi*(n3-14))-sin(pi/4*(n3-14)))pi*(n3-14))
*(0.54-0.46*cos(2*n3*pi./28));
yn=[yn1,yn2,yn3];
freqz(yn,1,3072,1)
结果如图:由上图可知:对函数加汉明窗后,其幅频响应的过渡带宽于加矩形窗,但是其阻带衰减值要比加矩形窗得到的阻带衰减值大,矩形窗的大约为-40db,汉明窗的约为-60db。
3.使用矩形窗与汉明窗设计的滤波器与理想滤波器的比较,程序如下:
clear all
n=28m=n-1=28
n1=[0:13根据函数划分n的取值。
n2=14;
n3=[15:28];
yn1=(sin(pi*(n1-14))-sin(pi/3*(n1-14)))pi*(n1-14));
在对称点左侧取值的函数值。
yn2=3/4对称点处的函数值。
yn3=(sin(pi*(n3-14)) sin(pi/3*(n3-14)))pi*(n3-14));
取对称点右侧的点的函数值。
yn=[yn1,yn2,yn3加矩形窗后滤波器函数。
zn1=yn1.*(0.54-0.46*cos(2*n1*pi./28加汉明窗后对称点左侧的函数值
zn2=3/4加汉明窗后对称点的函数值。
zn3=yn3.*(0.54-0.46*cos(2*n3*pi./28加汉明窗后对称点右侧的函数值。
zn=[zn1,zn2,zn3加汉明窗后滤波器函数。
m=1024; %该滤波器的截止频率分别为pi/3、pi/6,故把0--pi区间分为6份,m取值一般为2的整数次幂,既能被6整除,这里取3072
h1=freqz(yn,1,m求yn的频率响应。
h2=freqz(zn,1,m求zn的频率响应。
f=0:0.5/m:0.5-0.5/m把频率分为3072点。
m1=m/4; %把0--pi区间分为6份。
for k=1:m1定义理想高通滤波器。
hd(k)=0
hd(k+m1)=1;
hd(k+2*m1)=1;
hd(k+3*m1)=1;
endt=0:28; %画出滤波器函数时域图。
subplot(221);
stem(t,yn,'.
title('h(n)')
grid;subplot(222);
plot(f,abs(h1),'b-',f,hd,'r-')将理想高通滤波器于矩形窗设计的高通滤波器图画在统一坐标进行对比。
title('使用矩形窗设计的高通滤波器和理想滤波器的比较');
grid;subplot(223画出滤波器函数时域图。
stem(t,zn,'.
title('h(n)')
grid;subplot(224);
plot(f,abs(h2),'b-',f,hd,'r-')将理想高通滤波器于汉明窗设计的高通滤波器图画在统一坐标进行对比。
title('使用汉明窗设计的高通滤波器和理想滤波器的比较');
grid;结果如图:
通过对比可知:加汉明窗比加矩形窗得到的阻带纹波小,但它是以加大过渡带为代价。
2、滤波器检验。
加入一个具有多频带分量的信号,对设计的滤波器进行检验。设加入的信号如下:
在本文中,设计滤波器的通带频率为:1/8——pi。信号的频率分别为:
0.01, 0.375.
可知在0——pi区间内,在1/8——pi范围内的频率保留,在其他范围内的频率被滤除。
加入信号对设计的滤波器进行检验,其程序如下:
clear all
n=28;
n1=[0:13
n2=14;
n3=[15:28];
yn1=(sin(pi*(n1-n/2))-sin(pi/4*(n1-n/2)))pi*(n1-n/2));
yn2=3/4
yn3=(sin(pi*(n3-n/2))-sin(pi/4*(n3-n/2)))pi*(n3-n/2));
yn=[yn1,yn2,yn3]; 用矩形窗设计的滤波器函数。
zn1=yn1.*(0.54-0.46*cos(2*n1*pi./n
zn2=3/4
zn3=yn3.*(0.54-0.46*cos(2*n3*pi./n
zn=[zn1,zn2,zn3]; 用汉明窗设计的滤波器函数。
n=0:1:200;
x=3*sin(0.02*pi*n)+5*sin(0.4*pi*n);%加入的信号其结果为图2
subplot(231);
plot(x);%画出信号波形。
grid on;
y=conv(x,yn);%矩形窗设计的滤波器输出。
subplot(232);
plot(y);
z=conv(x,zn);%汉明窗设计的滤波器输出。
subplot(233);
plot(z);
grid on;
subplot(234);
x=fft(x,512);%对加入的信号进行傅立叶变换。
a1=abs(x);%取加入信号的幅频值。
w=[0:2*pi:511*2*pi]/511;
plot(w,a1,'r-')grid%画出信号的幅频图。
subplot(235);
y=fft(y,512);%输出信号的傅立叶变换。
a2=abs(y); 取输出信号的幅频值。
DSP作业
51 以ya i1ixi为例,编写完整的。asm汇编源程序以及。cmd命令文件,写出程序注释,并叙述在ccs2.0集成开发环境下,调试程序的基本步骤。其中a和x的值由自己确定。解 title mpy mmregs 将存储映像寄存器导入列表。stack 10h 给堆栈段分配空间。bssa,5 将11个...
DSP作业
1 以y ax为例,编写完整的。asm汇编源程序以及。cmd命令文件,写出程序注释,iii1 并叙述在ccs2.0集成开发环境下,调试程序的基本步骤。其中a和x的值由自己确定。解 title mpy mmregs 将存储映像寄存器导入列表。stack 10h 给堆栈段分配空间。bssa,5 将11个...
DSP作业
第一章。1 什么是dsp?2.dsp芯片的特点有哪些?3.dsp采用改进的哈佛总线结构,画出改进的哈佛总线结构示意图。4.dsp中由哪些地址和数据总线组成多总线结构?5.dsp芯片的选型一般是从哪几个方面进行考虑?6.简述ti公司的dsp三大平台和它们各自的应用场合。7.dsp芯片发展趋势应该朝着哪...