数字信号处理实验报告Word格式.docx
《数字信号处理实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验报告Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
利用FFT对模拟信号进行谱分析室,应将模拟信号离散化以得到离散时间信号,同时得考虑谱分析中参数的选择。
为避免混叠失真,要求抽样频率fs>
2f0(f0连续信号的最高频率),频率分辨率F>
离散频率的间隔,记录长度的取样数N(Tp=NT),这三者之间需N>
2f0/F。
谱分析的步骤:
首先,利用上面所选参数,在记录长度Tp中对连续时间信号xa(n)进行N点取样,得到离散时间信号x(n)。
然后,利用FFT计算信号的频谱:
X(K)=FFT[x(n)]。
MATLAB中可以用abs(x)来计算模值。
由于有限长序列补零以后,只是频谱的取样点有所增加,所以不会影响原频谱的分布。
实验内容
1.对于两个序列:
x(n)=nR16(n),h(n)=R8(n)
(1)在同一图形窗口中绘出两序列的时域图形。
(2)利用FFT编程计算两序列的线性卷积,绘出的时域图形。
程序代码:
N=16,x1=0:
N-1;
subplot(311),stem(0:
N-1,x1);
title('
x(n)=n*R16(n)'
);
axis([0N0N]);
grid;
%x(n)的时域图形
M=8,x2=ones(1,M);
subplot(312),stem(0:
M-1,x2);
title('
h(n)=R8(n)'
axis([0M02]);
%h(n)的时域图形
x3=[0:
N-1zeros(1,M-1)];
x4=[ones(1,M)zeros(1,N-1)];
%将x(n)、h(n)的长度通过补零增加为N+M-1
X1=fft(x3);
X2=fft(x4);
%分别求x(n)、h(n)的FFT
X=X1.*X2;
y=ifft(X);
%求二者FFT的乘积的反变换
subplot(313);
stem(0:
N+M-2,y);
卷积结果'
%显示y(n)的时域图形,从0开始,总长度为N+M-1
对于连续信号xa(t)=cos(2πf1t)+5cos(2πf2t)+cos(2πf3t),其中f1=6.5kHz,f2=7kHz,f3=9kHz,以采样频率fs=32kHz对其进行采样,
(1)对xa(t)信号采集16点样本,分别作16点和补零到256点的FFT,并分别绘出对应的幅频特性曲线。
(2)对xa(t)信号采集256点样本,分别作256点和512点的FFT,并分别绘出对应的幅频特性曲线。
(3)比较
(1)和
(2)中的结果,分析采样点数和傅里叶变换点数对FFT的影响,说明高密度频谱和高分辨率频谱的特点与区别。
%采样为16的FFT
N=16;
L=256;
fs=32000;
f1=6500;
f2=7000;
f3=9000;
T=1/fs;
ws=2*pi*fs;
n=0:
%信号样本数
x=cos(2*pi*f1*n*T)+5*cos(2*pi*f2*n*T)+cos(2*pi*f3*n*T);
X=fft(x,N);
%16点FFT
w=((0:
N-1)*ws/N)/(2*pi);
%横坐标范围
subplot(2,2,1);
stem(w,abs(X));
ylabel('
幅频特性谱线'
xlabel('
采样点为16的16点FFT频率(Hz)'
n2=0:
L-1;
x2=[x(1:
N)zeros(1,L-N)];
%信号补零,使其长度为256
X=fft(x,L);
%补零后的256点FFT
L-1)*ws/L)/(2*pi);
subplot(2,2,3);
采样点为16补零到256后的256点FFT'
%采样为256的FFT
N=256;
L=512;
%256点FFT
subplot(2,2,2);
采样点数为256的256点的FFT'
subplot(2,2,4);
%512点FFT
采样点为256补零到512的512点的FFT'
实验结果及分析
利用FFT进行频谱观测分
利用FFT计算线性卷积分析:
FFT在进行计算时可以将时域信号进行基二分,一直分到N/2个2点的DFT运算,这样可以节省很多时间。
并且能够真实的反映线性卷积结果。
2.利用FFT进行频谱观测分析
因为最小的频率差值为7KHz—6.5KHz=0.5KHz,采样频率为32K,所以最小的样本数目应当是32/0.5=64个,当采样点不足时,必然发生混叠失真,即不能观测出原信号的频率分布。
当取样点N=16<
64时,左上角的信号的16点FFT变换所得频谱图上几乎反应出信号的任何频率信息,因为幅值的大小并不能代表对应的频率即为信号的频率分布。
当采样点N=16<
64时,左下角的信号的256点FFT变换所得频谱图也不能反应信号的任何频率信息,只是在原有频谱图的基础上变得更加密集而已,这也就是高密度频谱图。
当取样点N=256>
64时,可以从右上角的256点FFT变换频谱图中清楚的看出吸纳后的频率成分(6.5KHz,7KHz,9KHz),此时的频谱图就是高分辨率频谱图。
当取样点足够时,只是改变FFT变换的点数,在原有高分辨率频谱图上增加一些叠加的频率成分,并且在信号频率的点上又叠加了一些新的幅值,所以,信号的的频率成分又在原有的高分辨率频谱的基础上变成了高密度的频谱图。
所以,高分辨率的的频谱图才是进行频谱分析所需要的结果,因此,在时域采集样点是应当要足够多,才能获得正确的频谱信息。
至于说FFT的点数,应当是大于且最接近信号取样点数的2的幂次,FFT的点数越多频率分布的情况反而不清楚,因为点数增多,FFT的计算就是在原有信号的基础上自动补零,此时又变回了高密度频谱,并且也牺牲了时间,所以,只用取接近抽样点的2的N次幂的FFT点数即可。
因此,在取样点数足够的情况下,只需求大于且最接近信号取样点数的2的幂次的FFT即可清楚的看出信号的频率分布。
设计性实验二:
IIR数字滤波器的设计
1、本实验为设计性实验。
2、掌握用双线性变换法设计IIR数字滤波器的基本原理和设计方法。
3、掌握用双线性变换法设计IIR数字Butterworth滤波器的原理和设计方法。
实
验
原
理
IIR数字滤波器的设计借助模拟滤波器原型,再将模拟滤波器转换成数字滤波器。
由双线性变换的S域与Z域间的关系可知:
z和s之间可以直接代换,由于S平面与Z平面一一单值对应,S平面的虚轴(整个jΩ)经映射后确已成为z平面上的单位圆,但Ω与为非线性关系,因此,通过双线性变换后两个滤波器的频率特性形状不能保持相同,双线性变换不存在混迭效应。
因为s平面的左半平面被映射在单位圆内部,这意味着稳定的模拟滤波器经双线性变换可以映射成稳定的数字滤波器。
设计滤波器的步骤:
1.得到数字指标(Wn等)
2.双线性变换为模拟低通指标
3.归一化模拟拟指标
4.利用通带衰减与阻带衰减的值求Butterworth的阶数N及归一化的模拟系统函数5.将这个再经过去归一化得到想要的滤波器类型
6.用双线性变换法变为数字滤波器
用双线性变换法设计一个IIR数字Butterworth低通滤波器。
技术指标为:
通带截止频率fp=1kHz,阻带截止频率fs=1.5kHz,通带衰减Rp≤1dB,阻带衰减Rs≥40dB,采样频率Fs=10kHz。
绘出滤波器的幅频特性曲线和相频特性曲线,判断设计是否符合要求。
fp=1000;
fs=1500;
Rp=1;
Rs=40;
Fs=10000;
%数字滤波器的技术指标
wp=2*pi*fp/Fs;
ws=2*pi*fs/Fs;
%归一化频率
T=1;
Fs=1/T;
Wp=(2/T)*tan(wp/2);
Ws=(2/T)*tan(ws/2);
%转换成模拟域指标
[N,Wn]=buttord(Wp,Ws,Rp,Rs,'
s'
%滤波器阶数选择和截止频率的求取
[Z,P,K]=buttap(N);
%模拟低通滤波器的零极点向量以及增益
[bz,az]=zp2tf(Z,P,K);
%零极点增益向传递函数的转换
[b,a]=lp2lp(bz,az,Wn);
%截止频率为1rad/s的模拟低通转为截止频率为Wn的模拟低通
[B,A]=bilinear(b,a,Fs);
%双线性变换求出数字域的传递函数的分子分母系数向量
[H,w]=freqz(B,A,512);
%数字滤波器的N点频率响应向量和频率向量
H=(H(1:
501))'
;
w=(w(1:
mag=abs(H);
pha=angle(H);
%响应的幅频特性和相频特性
subplot(2,1,1);
plot(w/pi,mag);
幅度'
以\pi为单位的频率'
幅度响应'
subplot(2,1,2);
plot(w/pi,pha);
相位响应'
相位'
巴特沃斯滤波器的特点是同频带的频率响应曲线最平滑,最大限度的平坦,没有起伏,在阻频带则下降为零。
由于IIR的通带截止频率是1KHz,阻带截止频率是1.5KHz。
经过归一化后得到过渡带的范围就是0.2pi到0.3pi之间。
在通带范围内的响应时1,阻带内是0。
在通带内的相位应该满足线性特性,但由于阻带衰减设计得比较大,线性相位的范围也就缩小了,若阻带衰减设计小一些,则可以满足相位条件。
但此时的幅频响应不理想。
设计性实验三:
FIR数字滤波器的设计
2、掌握用窗函数法设计FIR数字滤波器的基本原理和设计方法。
3、掌握用窗函数法设计线性相位FIR数字低通滤波器的编程实现。
窗函数设计的思想是根据给定的滤波器技术指标,选择滤波器的长度和窗函数,使其具有最窄宽度的主瓣和最小的旁瓣。
核心是从给定的频率特性通过加窗确定有限长单位脉冲响应序列h(n)
由于FIR的单位冲激响应是有限长的,因此滤波器是稳定的,任何非因果有限长序列,只要经过一定的延时,都能变成因果的有限长序列,因而总能用因果系统来实现。
FIR的系统函数是N-1次多项式,它在Z平面有N-1个零点,原点是N-1阶重极点,因此,H(z)是稳定的。
利用窗函数设计滤波器,是让待设计的滤波器去逼近理想特性,理想低通滤波器的频率特性应该是振幅特性在通带内为1,阻带内为0,在通带内的相位特性与w成线性关系。
设计步骤:
1.确定数字滤波器的性能要求,确定滤波器的临界频率,滤波器的长度。
2.根据性能要求,合理选择单位脉冲响应,从而确定理想频率响应的幅频特性和相频特性
3.选择适合的窗函数起初所需设计的FIR滤波器的单位脉冲响应。
4.若不满足,可以改变传函数的形式或者是长度N
内
容
用窗函数法设计一个线性相位FIR数字低通滤波器。
通带截止角频率ωp=0.2π,阻带截止角频率ωs=0.3π,通带衰减Rp≤1dB,阻带衰减Rs≥40dB。
根据相同的滤波器要求,选用不同的窗函数进行设计,比较各种窗函数对FIR数字滤波器频率特性的影响。
wp=0.2*pi;
ws=0.3*pi;
wd=ws-wp;
N=ceil(11*pi/wd)%计算滤波器阶数,矩形是1.8,汉宁是6.2,哈明是6.6,布莱克曼是11
wn=(wp+ws)/2;
delta_w=2*pi/1000;
%频率分辨率
rp=-(min(db(1:
wp/delta_w+1)))%实际带通衰减
as=-round(max(db(ws/delta_w+1:
501)))%实际的最小阻带衰减%计算滤波器截止频率
b=fir1(N,wn/pi,blackman(N+1));
%实现线性相位的FIR滤波器设计,b为待设计的滤波器系数向量
freqz(b,1,512)
legend('
布莱克曼窗'
Rp=0.0025
As=53
N=62
Rp=0.0025
As=53
N=66
N=110
as=
40
As=53
N=28
验结果及分析
从上面的四个图可以看出在同样的指标下,矩形窗,汉宁窗,哈明窗,布莱克曼窗所要求的N越来越大。
N越大,滤波器的过渡带就越窄,主瓣高度与第一旁瓣高度的差值方面基本不变。
旁瓣的个数越来越多,旁瓣的宽度随N的加大而减小。
可以预测,在滤波器阶数相同时,在各种窗函数中矩形窗的阻带衰减最小,其次是汉宁窗,再次是哈明窗,布莱克曼窗的阻带最小衰减最大。
主瓣宽度方面,汉宁窗及哈明窗一样,布莱克曼比前两种的主瓣要宽,主瓣高度与第一旁瓣高度的差值方面,汉宁窗最小,其次是哈明窗,布莱克曼窗高度差最大。
旁瓣衰减的速度,哈明窗比较缓慢,汉宁窗相对前两种要快,布莱克曼窗更快。
旁瓣幅度方面,矩形窗最大,汉宁窗和哈明窗较大,布莱克曼窗较小。
选窗时通常是希望有:
1.较低的旁瓣幅度,2.旁瓣幅度要下降得快,以利于增加阻带衰减;
3.主瓣宽度要窄,这样滤波器过渡带较窄。
由上面的几个图形可以看出,这三点难以同时满足,当选用主瓣宽度较窄时,虽然得到的幅频特性较陡峭,但通带、阻带波动会明显增加;
当选用较低的旁瓣幅度时,虽然得到的幅频特性较平缓匀滑,但过渡带变宽。
实验总结
经历了为期一周的数字信号处理课程设计,由于考试已经过了一段时间,平时学得也不怎么扎实,所以在实验过程中遇到了不少困难,结果虽然能出来,但是,好多东西都不知道它的本质是什么。
数字信号处理本来应该是门很有用的课程,像频谱的分析,滤波器的设计这些方面与现在的信息数字化时代应该是联系相当紧密的一门课程。
FIR由于其线性相位的优点,因此在图形和信号处理方面具有独特的优势。
这次课程设计虽然经历了好多的不顺利,但是最总还是顺利的完成了四个实验的设计工作,同时,在这个过程中也感觉MATLAB挺强大了.