您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页数字信号处理实验报告

数字信号处理实验报告

来源:五一七教育网
实验一 信号、系统及系统响应

一 实验目的

1.熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样

定理的理解。

2.熟悉离散信号和系统的时域特性。

3.熟悉线性卷积的计算编程方法:利用卷积的方法,观察、分析系统

响应的时域特性。

4.掌握序列傅氏变换的计算机实现方法,利用序列的傅氏变换对离散

信号、系统及系统响应进行频域分析。

二 实验内容及步骤

1. 1、分析理想采样信号序列的特性:

产生理想采样信号序列,对信号进行理想采样,可以得到一个理想的采样信号序列:,其中A为幅度因子,是衰减因子,是频率。T为采样周期。根据实验内容的需要,这些参量请设计为在程序运行过程中输入。

首先使。

解:fs=input('请输入采样频率=');

n=0:50; %定义序列的长度是50A=444.128; %设置信号有关的参数a=50*sqrt(2.0)*pi;T=1/fs;

t=0:0.0001:0.06; w0=50*sqrt(2.0)*pi;

x=A*exp(-a*t).*sin(w0*t); %ω符号在MatLab 中不能输入,用w 代替

x1=A*exp(-a*n*T).*sin(w0*n*T); %pi 是MATLAB 定义的π,信号乘可采用“.*”close all

subplot(2,2,1);plot(t,x);

title('原始信号时域图');

subplot(2,2,2);stem(x1); %绘制x(n) 的图形title('理想采样信号序列');y=fft(x,10001);

f=(0:10000)*fs/10001; subplot(2,2,3)plot(f,abs(y));

title('原始信号频域图');k=-25:25;

W=(pi/12.5)*k;

X=x1*(exp(-j*pi/12.5)).^(n'*k);

magX=abs(X); %绘制x(n) 的幅度谱subplot(2,2,4);stem(magX);

title('理想采样信号序列的幅度谱');

T=1/1000

T=1/300时T=1/200

由图可知,在T=1000时,有轻微的混淆现象,T=300和T=200时有明显的混淆现象,采样频率越低,混淆越严重。根据

Shannon取样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频谱混淆现象。 此题中原信号没有最高频谱,但幅频响应的幅值随频率增大而减小,所以只要采样率够高,就可以大致模拟原始信号,

2、离散信号、系统和系统响应的分析:单位脉冲序列:矩形序列:

系统单位脉冲响应序列,本实验中用到以下两种FIR系统:

(1)观察信号和系统的时域和幅频特性;利用线性卷积求信号通过系统以后的响应。比较系统响应和系统的时域及幅频特性。注意它们之间有无差异,绘出图形。

答:信号时域和幅频特性:的时域和幅频特性:

输入信号为

(2)观察信号和系统的时域和幅频特性,利用线性卷积求系

统响应。判断响应序列图形及序列非零值长度是否与理论结果一致,说出一种定性判断响应序列图形正确与否的方法(提示:)。利用序列的傅立叶变换数值计算子程序求出,观察响应序列的幅频特性。定性判断结果正确与否。改变信号的矩形宽度,使N=5,重复以上动作,观察变化,记录改变参数前后的差异。

答:信号和系统的时域和幅频特性相同,如下:

n=1:10;

x=sign(sign(10-n)+1);close all;

subplot(3,1,1);

stem(x);title('Xc[n]序列时域');k=-25:25;

X=x*(exp(-j*pi/25)).^(n'*k);

magX=abs(X); %绘制x(n) 的幅度谱subplot(3,1,2);

stem(magX);title('Xc[n]的幅度谱');

angX=angle(X); %绘制x(n) 的相位谱subplot(3,1,3);stem(angX);

title ('Xc[n]的相位谱')

系统相应:

n=1:50; %定义序列的长度是50hb=zeros(1,50);

hb(1)=1; hb(2)=1; hb(3)=1; hb(4)=1;hb(5)=1;hb(6)=1;hb(7)=1;hb(8)=1;hb(9)=1;hb(10)=1;x=hb;

subplot(4,1,1);stem(hb);title('系统hb[n]');

subplot(4,1,2);stem(x);title('输入信号x[n]'); axis([0 20 0 1]);y=conv(x,hb);

subplot(4,1,3);stem(y);title('输出信号y[n]'); axis([0 50 0 15]);n=1:99; k=1:99;

Y=y*(exp(-j*pi/12.5)).^(n'*k);

subplot(4,1,4);stem(abs(Y));title('输出信号y[n]幅度谱');

N=10时:

N=5时

结论:响应序列非零值长度理论值为两卷积序列非零长度和减一

由所得图形知实际结果与理论值相符。

(3) 将实验步骤2-(2)中的信号换为,其中。重复实验2-(2)各步骤,改变的参数再重复实验2-(2)各步骤;改变参数,重复实验2-(2)各步骤。在实验中观察改变和对信号及系统响应的时域和幅频特性的影响,绘制相应的图形。

a=0.4

a=0.1时:

3.验证卷积:利用式(1-14)将和系统的傅氏变换相乘,直接求得,

将得到的幅频特性曲线和实验2-(3)中得到的曲线进行比较,观察二者有无差异。验证卷积定律。

答:

n=1:50; %定义序列的长度是50

hb=zeros(1,50); %注意:MATLAB 中数组下标从1 开始hb(1)=1;hb(2)=1;hb(3)=1;

hb(4)=1;hb(5)=1;hb(6)=1;hb(7)=1;hb(8)=1;hb(9)=1;hb(10)=1;close all;

A=1; a=0.4; w0=2.0734; T=1; m=1:50; %设置信号有关的参数x=A*exp(-a*m*T).*sin(w0*m*T); y=conv(x,hb);

k=1:50; X=x*(exp(-j*pi/12.5)).^(n'*k);Hb=hb*(exp(-j*pi/12.5)).^(n'*k);n=1:99; k=1:99;

Y=y*(exp(-j*pi/12.5)).^(n'*k);XHb=X.*Hb;

subplot(2,1,1);stem(abs(XHb));title('x(n) 的幅度谱与hb(n)幅度谱相乘');axis([0,50,0,3])

subplot(2,1,2);stem(abs(Y));title('y(n) 的幅度谱');axis([0,50,0,3])

如图,两幅图的频谱形状一致,因而验证了卷积定律

4、一个LTI系统的冲激响应为,输入序列为,求系统响应和输出信号y(n)及其频谱;如果,其结果又如何?答:n=0:50;

h=0.9.^n;m=1:10;

x=sign(sign(10-m)+1);k=0:50;

H=h*(exp(-j*pi/12.5)).^(n'*k);subplot(211);stem(abs(H));title('系统响应的幅度谱');y=conv(x,h);n=0:59;k=0:59;

Y=y*(exp(-j*pi/12.5)).^(n'*k);subplot(212);stem(abs(Y));title('y(n) 的幅度谱');

n=1:50; %定义序列的长度是50

hb=zeros(1,50); %注意:MATLAB 中数组下标从1 开始hb(1)=1;hb(2)=1;hb(3)=1;

hb(4)=1;hb(5)=1;hb(6)=1;hb(7)=1;hb(8)=1;hb(9)=1;hb(10)=1;close all;x=hb;

y=conv(x,hb);

k=1:50; X=x*(exp(-j*pi/12.5)).^(n'*k);Hb=hb*(exp(-j*pi/12.5)).^(n'*k);n=1:99; k=1:99;

Y=y*(exp(-j*pi/12.5)).^(n'*k);

subplot(2,1,1);stem(abs(Hb));title('hb(n)幅度谱'); axis([0,50,0,3])subplot(2,1,2);stem(abs(Y));title('y(n) 的幅度谱');axis([0,50,0,3])

结果:系统响应和输出信号y(n)及其频谱相同。三、思考题:

:利用不同采样频率所得到的采样信号序列的傅氏变化频谱,数字频率度量是不同的,它们所对应的模拟频率也不同。

:差异在于x和h相乘的频谱长度为30,而y的频谱长度为59,为y是x和h的卷积,其长度等于二者长度和减一。

实验二 应用FFT对信号进行频谱分析一 实验目的

1.在理论学习的基础上,通过本次实验,加深对

快速傅里叶变换的理解,熟悉FFT算法及其程序的编写。

2.熟悉应用FFT对典型信号进行频谱分析的方

法。

3.了解应用FFT进行信号频谱分析过程中可能出

现的问题,以便在实际中正确应用FFT。二 实验内容及步骤

1、编写程序产生高斯序列,观察高斯序列的时

域和频域特性:

(1) 固定信号中的参数p=8,改变q的值,使q分别等于2,4,8。观察它们的时域和幅频特性,了解q取不同值的时候,对信号时域特性和幅频特性的影响。

(2) 固定q=8,改变p,使p分别等于8,13,14,观察参数p变化对信号序列时域及幅频特性的影响。注意p等于多少时,会发生明显的泄漏现象,混淆现象是否也随之出现?记录实验中观察到的现象,绘制相应的时域序列和幅频特性曲线。

2编写程序产生衰减正弦序列,观察衰减正弦序列的时域和幅频特性:

(1) 令α=0.1并且f=0.0625,检查谱峰出现的位置是否正确,注意频谱的形状,绘制幅频特性曲线。

n=0:15; %定义序列的长度是15

a=0.1; f=input('请输入f='); x=exp(-a*n).*sin(2*pi*f*n);

close all; subplot(2,1,1); stem(x);subplot(2,1,2);stem(abs(fft(x)));

(2)改变f=0.4375,再变化f=0.5625,观察这两种情况下,频谱的形状和谱峰出现的位置,有无混淆和泄漏现象发生?说明产生现象的原因。

F=0.4375f=0.5625

3、编写程序产生三角波和反三角波序列,观察三角波序列和反三角波序列的时域和幅频特性:(1)用8点FFT分析信号和的幅频特性,观察两者的序列形状和频谱曲线有什么异同?(注意:这时候的可以看作是经过圆周移位以后得到的)绘制两者的序列和幅频特性曲线8点FFT:

for i=1:4; %设置信号前4 个点的数值

x(i)=i; %注意:MATLAB 中数组下标从1 开始end

for i=5:8 %设置信号后4 个点的数值x(i)=9-i;end

t=input('请输入FFT点数=');close all; subplot(2,1,1); stem(x);title('三角序列时域图');

subplot(2,1,2); stem(abs(fft(x,t))) %绘制信号的频谱title('三角序列频域图');

结论:两者频域图是一样的

(2)在的和末尾补零,用16点FFT分析这两个信号的幅频特性,观察幅频特性发生了什么变化?两个信号之间的FFT频谱还有没有相同之处?这些变化说明了什么?16点FFT:

结论:两者频谱图不一样,因为改变了点数,减少了栅栏效应。

4、将信号的长度N设为63,用MatLab中randn(1,N)函数产生一个噪声信号w(n),计算将这个噪声信号叠加到上以后新信号的频谱,观察发生的变化并记录。

n=0:62;

N=63; %定义序列的长度是15a=0.1; f=0.0625; x=exp(-a*n).*sin(2*pi*f*n);close all; subplot(4,1,1); stem(x); title('x的时域');w=randn(1,N);y=x+w;

subplot(412);stem(y);title('y的时域');

subplot(4,1,3); stem(abs(fft(x))) ;title('x的频域');

Y=fft(y,63);subplot(4,1,4); stem(abs(Y)) ;title('y的频域');

5在步骤2的基础上,改变参数α和f,观察在出现混淆现象和泄漏现象的时候有噪声的y(n)信号的频谱有什

么变化,是否明显?

n=0:15; %定义序列的长度是15a=input('a='); f=input('请输入f=');x=exp(-a*n).*sin(2*pi*f*n);

close all; subplot(3,1,1); stem(x); title('xb[n]的时域');subplot(3,1,2);stem(abs(fft(x)));title('xb[n]的频域');w=randn(1,16);y=x+w;

Y=fft(y,16);subplot(3,1,3); stem(abs(Y)) ;title('y的频域');

a=0.1并且f=0.0625,a=0.2, f=0.4375;a=0.2, f=0.5625;

由上面三个图可知,有噪声的y(n)信号的频谱始终是比较均匀的,改变a和f对其影响不大。三、思考题:

1.答:不是,反三角序列的低频分量更多一些,从频谱图上可见反三角序列在低频部分的谱线更高。

2. 答:不是,因为该序列周期为10,取16点FFT无法还原成真实频谱。

实验三 用双线性变换法设计IIR滤波器一 实验目的

1.了解两种工程上最常用的变换方法:脉冲响应不变法和双线性变换

法。

2.掌握双线性变换法设计IIR滤波器的原理及具体设计方法,熟悉用

双线性设计法设计低通、带通和高通IIR数字滤波器的计算机程序。3.观察用双线性变换法设计的滤波器的频域特性,并与脉冲响应不变

法相比较,了解双线性变换法的特点。

4.熟悉用双线性变换法设计数字Butterworth和Chebyshev滤波器的全

过程。

5.了解多项式乘积和多项式乘方运算的计算机编程方法。

二 实验内容及步骤

1、 采样频率为1Hz,设计一个Chebyshev高通数字

滤波器,其中通带临界频率,通带内衰减小于0.8dB (),阻带临界频率,阻带内衰减大于20dB ()。求这个数字滤波器的传递函数H(z),输出它的幅频特性曲线,观察其通带衰减和阻带衰减是否满足要求。

解:因为 =0.6, =0.4= 1.37 = 0.7265 又

模拟原型低通滤波器的指标:

[z,p,k]=cheb1ap(4,0.8);[B A]=zp2tf(z,p,k)

[BT,AT]=lp2hp(B,A,1.37);[num,den]=bilinear(BT,AT,0.5);[h,w]=freqz(num,den,512);figure(1);

plot(w/pi,20*log(abs(h)));grid;

xlabel('omega/pi');ylabel('Magnitude');axis([0 1 -200 5]);

num =

0.0262 -0.1047 0.1570 -0.1047 0.0262

en = 1.0000 1.52 1.6537 0.9452 0.2796

H(z)=

2、 采样频率为1Hz,设计一个数字低通滤波器,

要求其通带临界频率,通带内衰减小于1dB(),阻带临界频率,阻带内衰减大于25dB()。求这个数字滤波器的传递函数H(z),输出它的幅频特性曲线。=0.4, =0.6

所以= 0.7265 = 1.37 又

N=4

[z,p,k]=cheb1ap(4,1);[B A]=zp2tf(z,p,k);

[BT,AT]=lp2lp(B,A,0.7265);[num,den]=bilinear(BT,AT,0.5);[h,w]=freqz(num,den,512);figure(1);

plot(w/pi,20*log(abs(h)));grid;

xlabel('omega/pi');ylabel('Magnitude');axis([0 1 -200 5]);num =

0.0243 0.0970 0.1455 0.0970 0.0243den =

1.0000 -1.5979 1.7461 -1.0201 0.3074

H(z)=经观察,满足要求

3、设计Butterworth带通数字滤波器,其上下边带1dB

处的通带临界频率分别为20kHz和30kHz(,,),当频率低于15kHz和高于35kHz时,衰减要大于40dB(,),采样周期为10μs,求这个数字滤波器的传递函数H(z),输出它的幅频特性曲线,观察其通带衰减和阻带衰减是否满足要求。

:ft=100kHz, 归一化的:

[N,Wn]=buttord([0.2 0.3],[0.15 0.35],1,40);[B,A]=butter(N,Wn,'bandpass');[h,w]=freqz(B,A,512);figure(1);

plot(w/pi,20*log(abs(h)));grid;

xlabel('omega/pi');ylabel('Magnitude');axis([0 1 -200 5]);经观察,满足要求。

三、思考题:

.双线性变换和脉冲响应不变法相比较,有哪些优点和缺点?为什么?

答: 脉冲响应不变法一个重要的特点是频率坐标的变换是线性的(ω=ΩT),其缺点是有频谱的周期延拓效应,存在频谱混淆的现象。

双线性变换法不同于脉冲响应不变法,不存在频谱混淆的问题。因为它建立起s平面和z平面的单值映射关系。但与原频率不是线性关系。这种非线性关系使得通带截止频率、过渡带的边缘频率的相对位置都发生了非线性畸变。

答:观察到了,在原图使用脉冲响应不变法同样设计一个切

比雪夫滤波器进行比较,曲线后半段有明显不重叠,因为双线性

变换法使得通带截止频率、过渡带的边缘频率的相对位置有较大的非线性畸变。

实验四 用窗函数设计FIR滤波器

一 实验目的

1、熟悉FIR滤波器设计的基本方法。

2、掌握用窗函数设计FIR数字滤波器的原理及方法3、熟悉线性相位FIR滤波器的幅频特性和相位特性。

4、了解各种不同窗函数对滤波器性能的响应。二 实验内容及步骤

1 用Hanning 窗设计一个线性相位带通滤波器,其长度N=15,上下边带截至频率分别为, ,求h(n),绘制它的幅频和相位特性曲线,观察它的实际3dB和20dB带宽。如果N=45,重复这一设计,观察幅频和相位特性的变化,注意长度N变化对结果的影响。

解:Window=hann(15);

b=fir1(14,[0.3 0.5],Window); freqz(b,1)

N=15时

N=45

Window=hann(45);

b=fir1(44,[0.3 0.5],Window); freqz(b,1)

结论:N增加会增加幅频与相频曲线的震荡程度,且通带更

向中间靠拢。

改用矩形窗和Blackman窗,设计步骤(1)中的带通滤波器,观察并记录窗函数对滤波器幅频和相位特性的影响,比较这三种窗函数的特点。矩形窗:N=15时:

Window= boxcar(15);

b=fir1(14,[0.3 0.5],Window); freqz(b,1);

N=45时Blackman窗:

N=15时:

Window= blackman(15);

b=fir1(14,[0.3 0.5],Window); freqz(b,1);

N=45时:

结论:hanning幅频响应比较理想,balckman幅频响应比较好,boxcar两方面都比较差。

3、 用Kaiser窗设计一个专用的线性相位滤波器。

N=40,理想的幅频特性如下图所示:

0.2π0.4π0.6π0.8ππ

值分别4,6,8时,设计相应的滤波器,比较它们的幅频和相位特性,观察并分析值不同的时候对结果有什么影

(1)=4

window=kaiser(40,4);

b=fir1(39,[0.2,0.4],window);window=kaiser(40,4);

a=fir1(39,[0.6,0.8],window);c=a+b;freqz(c,1)

(2)=6

window=kaiser(40,6);

b=fir1(39,[0.2,0.4],window);window=kaiser(40,6);

a=fir1(39,[0.6,0.8],window);c=a+b;freqz(c,1)(3)=8 程序略

结论:当增加时,幅频曲线两个通频带的连接部分越来越平坦;而相频曲线的线性则越加完美。

三、思考题

1、定性的说明用本实验程序设计的FIR滤波器的3dB截至频率

在什么位置?它等于理想频率响应的截至频率吗?

答:第一,二个实验大约在中间频率左右距离大约1.2处,第萨巴个大约在中间频率左右0.08处,不等于理想截止频率,但比较接近。

2、如果没有给定 的长度N,而是给定了通带边缘截至频率 和阻带临界以及相应的衰减,你能根据这些条件用窗函数法设计线性相位FIR低通滤波起吗?

答:可以使用hamming窗,长度N=ceil(6.6*pi/tr_wide)+1;tr_wide为过渡带宽度。求出N,则可用如下程序设计:window=hanning(15);

b=fir1(14,[0.3,0.5],window);

3、 频率取样方法和窗函数法各有什么特点?简单说

明?

答:窗函数法已经编程完成可以简单快捷地调用,有多种函数可以进行选择设计,在加长序列长度的前提下可以得到十分理想的通带阻带;频率取样法则需要根据情况自行设计,其计算比较简单,在较低阶数下可以完成相应设计,但是结果不如窗函数精确。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务