DSP(数字信号处理)实验报告5

时间:2024.4.14

 

本科学生实验报告

学号     124090314       姓名   何胜金  

学院    物电学院     专业、班级  12电子     

实验课程名称    数字信号处理(实验)     

教师及职称           杨卫平             

    开课学期  第三    第四学年      学期

            填报时间       2015      4    20  

云南师范大学教务处编印


第二篇:数字信号处理实验报告


实验一:信号、系统及系统响应

1. 实验目的

① 熟悉连续信号经过理想抽样前后的频谱变化关系,加深对时域抽样定理的理解。

② 熟悉时域离散系统的时域特性。

③ 利用卷积方法观察分析系统的时域特性。

④ 掌握序列傅里叶变换的计算机实验方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。

2. 实验原理与方法

(1)对一个连续信号xa(t)进行理想抽样的过程可用(1.1)式表示。 = δT(t) ,其中为xa(t)的理想抽样,δT(t)为周期冲激脉冲,即 

的傅里叶变换 =

下面导出用序列的傅里叶变换来计算的公式。

 =  =
        =  =  

式中的xa(nT)就是采样后得到的序列x(n),即x(n) = xa(nT)

x(n)的序列傅里叶变换为X(e) =  

为了在数字计算机上观察分析各种序列的频域特性,通常对X(e)在[0,2π]上进行M点采样来观察分析。对长度为N的有限长序列x(n),有 

其中 , k = 0,1, …, M-1,通常M应取得大一些,以便观察谱的细节变化。取模||可绘出幅频待性曲线。

(2) 一个时域离散线性非移变系统的输入/输出关系为y(n) = x(n) * h(n) =  

上述卷积运算也可以在频域实现(即卷积定理:时域卷积,频域相乘。)

Y(e) = X(e)H(e)

3. 实验内容

(1) 连续信号分析

① 连续时间信号的选择与运算

1 单边指数脉冲;xa(t)=E*exp(-at) (a>0) ;

2 双边指数脉冲;xa(t)= E*exp(-a*abs(t))  (a>0)

3 钟形信号:y=sinc(t)

4. 信号相加:

5. 信号相乘:

② 用MATLAB编制程序求连续时间非周期信号的傅氏变换Xa(jΩ)

③ 时域观察,频域分析

 (2) 离散信号分析

① 离散时间非周期信号x(n)的生成

② 用MATLAB编制程序求序列x(n)的傅氏变换X(e)

③ 时域观察,频域分析

(3) 系统响应分析

① 生成实验用的输入序列x(n)和系统单位冲激响应序列h(n)

        输入序列:x(n) = R10(n)
单位冲激响应序列:h(n) = δ(n) + 2.5δ(n-1) + 2.5δ(n-2) + δ(n-3)

② 时域离散信号、系统和系统响应分析

③ 卷积定理的验证

4. 思考题

在分析理想抽样序列特性的实验中,采样频率不同时,相应理想抽样序列的傅里叶变换频谱的数字频率度量是否都相同?它们所对应的模拟频率是否相同?为什么?

答:采样频率不同时,相应理想采样序列的傅里叶频谱的数字频率两不同,因为采样频率不同时,它们所对应的模拟频率也不相同。在不同采样频率下产生了不同的频谱图,由图形曲线的对比我们可以得出,在满足采样频率大于2fc时,傅里叶变换按照采样频率周期延拓时,产生的频谱不发生混叠。

5.实验仿真图及结论

(1) 单边指数脉冲;x=exp(2*t)  ;

t=-5*pi:0.01*pi:5*pi;

x=exp(2*t);

plot(t,x);

 (2) 双边指数脉冲;x= exp(-2*abs(t))  (a>0)

t=-3*pi:0.01*pi:3*pi;

x=exp(-2* abs(t));

plot(t,x)

(3)钟形信号

t=-4:0.01:4

y=sinc(t)

plot(t,y)

 (4)信号相加:

t=-5*pi:0.1*pi:5*pi;

f=cos(18*pi*t)+cos(20*pi*t);

plot(t,f);

(5)信号相乘:

t=-5*pi:0.1*pi:5*pi;

f=sinc(t).*cos(20*pi*t);

plot(t,f);

(6)离散时间非周期信号x(n)

t=-10*pi:0.1*pi:10*pi;

xa= 4*exp(-2*t);

subplot(2,1,1);

plot(t,xa);

w=pi:0.1*pi:40*pi;

T=0.1;

n=1:1:40;

xn= 4*exp(-2*n);

f=fft(xn);

subplot(2,1,2);

stem(n,f);

(7)实验结论

通过实验我熟悉时域离散系统的时域特性。掌握了利用卷积方法观察分析系统的时域特性的方法。掌握了序列傅里叶变换的计算机实验方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析的方法。学会了软件的使用以及用于实验分析的好处。


实验二:用FFT做谱分析

1. 实验目的

(1) 进一步加深DFT算法原理和基本性质的理解(因为 FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。

(2) 熟悉FFT算法原理和FFT子程序的应用。

(3) 学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。

2. 实验步骤 及原理

(1) 复习DFT的定义、性质和用DFT作谱分析的有关内容。

(2) 复习按时间抽选法FFT算法原理及相应的运算流图

(3) 编制信号产生子程序,产生以下典型信号供谱分析用:

x1(n) = R4(n)  x1=ones(1,4)=[1,1,1,1]

x2(n) =   x2=[1,2,3,4,4,3,2,1…0]

x3(n) = 

x4(n) = cos(π/4)n

x5(n) = sin(π/8)n

x6(t) = cos8πt + cos16πt + cos20πt

应当注意,如果给出的是连续信号xa(t),则首先要根据其最高频率确定抽样频率fs以及由频率分辨率选择抽样点数N,然后对其进行软件抽样(即计算 x(n)=xa(nT),0≤n≤N-1),产生对应序列 x(n)。对信x6(t),频率分辨率的选择要以能分辨开其中的三个频率对应的谱线为准则。对周期序列,最好截取周期的整数倍进行谱分析,否则有可能产生较大的分析误差。请实验者根据DFT的隐含周期性思考这个问题。

(4) 编写主程序。调用FFT子程序(函数)计算信号的DFT,绘制|X(k)|曲线。

3.实验内容

(1) 对2中所给出的信号逐个进行谱分析。下面给出针对各信号的FFT变换区间N以及对连续信号x6(t)的抽样频率fs,供实验时参考。

x1(n) , x2(n) , x3(n) , x4(n) , x5(n):N = 8 , 16

x6(t):fs = 64(Hz) , N = 16 , 32 , 64

(2) 令x(n) = x4(n) + x5(n),用FFT计算8点和16点离散傅里叶变换,

X(k) = DFT [x(n)]

并根据DFT的对称性,由X(k)求出X4(k) = DFT [x4(n)]和X5(k) = DFT [x5(n)],并与(1) 中所得结果比较。[提示:取N = 16时,x4(n) = x4(N-n), x5(n) = - x5(N-n)。]

(3) 令x(n) = x4(n) + j x5(n),重复(2)。

4. 思考题

(1) 在N=8时,x2(n)和x3(n)的幅频特性会相同吗?为什么?N=16呢?

答:在N=8时, x2(n)和x3(n)的幅频特性会相同,在N=16时, x2(n)和x3(n)的幅频特性不相同。

(2) 如果周期信号的周期预先不知道,如何用FFT进行谱分析?

答:设一个定长的m值,先取2m,看2m/m的误差是否大,如大的话再取4m,看4m/2m的误差是否大,如不大,4m(4倍的m值)则可近似原来点的谱分析。

5. 实验仿真图及结论

(1) x1(n) = R4(n)

n=0:3;

X=ones(1,4);

X=abs(X);

subplot(3,1,1);

stem(n,X);

X11=fft(X,8);

n1=0:7;

X11=abs(X11);

subplot(3,1,2);

stem(n1,X11);

X12=fft(X,16);

n2=0:15;

X12=abs(X12);

subplot(3,1,3);

stem(n2,X12);

(2) x2(n) =

n=0:7;

X=[1,2,3,4,4,3,2,1]

X=abs(X);

subplot(3,1,1);

stem(n,X);

X11=fft(X,8);

n1=0:7;

X11=abs(X11);

subplot(3,1,2);

stem(n1,X11);

X12=fft(X,16);

n2=0:15;

X12=abs(X12);

subplot(3,1,3);

stem(n2,X12);

(3) x3(n) = 

n=0:7;

X=[4,3,2,1,1,2,3,4]

X=abs(X);

subplot(3,1,1);

stem(n,X);

X11=fft(X,8);

n1=0:7;

X11=abs(X11);

subplot(3,1,2);

stem(n1,X11);

X12=fft(X,16);

n2=0:15;

X12=abs(X12);

subplot(3,1,3);

stem(n2,X12);

(4) x4(n) = cos(π/4)n

n=0:7;

X=cos((pi/4)*n);

subplot(3,1,1);

stem(n,X);

X11=fft(X,8);

n1=0:7;

X11=abs(X11);

subplot(3,1,2);

stem(n1,X11);

X12=fft(X,16);

n2=0:15;

X12=abs(X12);

subplot(3,1,3);

stem(n2,X12);

(5)x5(n) = sin(π/8)n

n=0:7;

X=sin((pi/8)*n);

subplot(3,1,1);

stem(n,X);

X11=fft(X,8);

n1=0:7;

X11=abs(X11);

subplot(3,1,2);

stem(n1,X11);

X12=fft(X,16);

n2=0:15;

X12=abs(X12);

subplot(3,1,3);

stem(n2,X12);

(6)x6(t) = cos8πt + cos16πt + cos20πt

t=-5*pi:0.1*pi:5*pi;

fs=64;

X =cos(8*pi*t) + cos(16*pi*t) + cos(20*pi*t);

subplot(4,1,1);

plot(t,X);

X11=fft(X,16);

n1=0:15;

X11=abs(X11);

subplot(4,1,2);

stem(n1,X11);

X12=fft(X,32);

n2=0:31;

X12=abs(X12);

subplot(4,1,3);

stem(n2,X12);

X13=fft(X,64);

n3=0:63;

X13=abs(X13);

subplot(4,1,4);

stem(n3,X13);

(7)x(n) = x4(n) + x5(n)

n=0:7;

X=cos((pi/4)*n)+sin((pi/8)*n);

subplot(3,1,1);

stem(n,X);

X11=fft(X,8);

n1=0:7;

X11=abs(X11);

subplot(3,1,2);

stem(n1,X11);

X12=fft(X,16);

n2=0:15;

X12=abs(X12);

subplot(3,1,3);

stem(n2,X12);

(8)x(n) = x4(n) + j x5(n)

n=0:7;

X=cos((pi/4)*n)+j*sin((pi/8)*n);

subplot(3,1,1);

stem(n,X);

X11=fft(X,8);

n1=0:7;

X11=abs(X11);

subplot(3,1,2);

stem(n1,X11);

X12=fft(X,16);

n2=0:15;

X12=abs(X12);

subplot(3,1,3);

stem(n2,X12);

(9)实验结论 

 FFT变换即快速傅里叶变换的性质同DFT即离散傅里叶变换相同。离散傅里叶变换有两个物理意义,一是,是对该序列的傅里叶变换w的抽样或者说对Z变换单位圆内的抽样。二是,将该序列进行周期延拓后的傅里叶级数变换的主值序列。


实验三:用双线性变换法设计IIR数字滤波器

1. 实验目的

(1) 熟悉用双线性变换法设计IIR数字滤波器的原理与方法。

(2) 掌握数字滤波器的计算机仿真方法。

(3) 通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。

2. 实验步骤及原理

(1) 复习有关巴特沃斯模拟滤波器设计和用双线性变换法设计IIR数字滤波器的内容,按照“2. 实验内容(1)”的要求设计满足指标的数字滤波器函数H(z)。

现给出满足本实验要求的数字滤波器系统函数:

H(z) =
     =  —— (3.1)
式中            Hk(z) =  , k = 1 , 2 , 3 —— (3.2)

A = 0.09036
B1 = 1.2686  ,     C1 =-0.7051
B2 = 1.0106  ,     C2 =-0.3583
B3 = 0.9044  ,     C3 =-0.2155

由 (3.1) 式和(3.2)式可见,滤波器H(z)由三个二阶滤波器H1(z)、H2(z)和H3(z)级联组成,如图所示。

 

(2) 编写滤波器仿真程序,计算H(z)对心电图信号抽样序列x(n)的响应序列y(n)。

设yk(n)为第k级二阶滤波器Hk(z)的输出序列,yk-1(n)为输入序列,如图3.1所示。由(3.2)式可得到差分方程:

yk(n) = A yk-1(n) + 2A yk-1(n-1) + A yk-1(n-2) + Bk yk(n-1) + Ck yk(n-2)

当k = 1时,yk-1(n) = x(n)。所以H(z)对x(n)的总响应序列y(n)可以用顺序迭代算法得到。即依次对k = 1,2,3,求解差分方程 (3.3),最后得到y3(n) = y(n)。仿真程序就是实现上述求解差分方程和顺序迭代算法的通用程序。也可以直接调用MATLAB filter 函数实现仿真。

(3) 在通用计算机上运行仿真滤波程序,并调用通用绘图子程序,完成“2.实验内容(2)和(3) ”。

3. 实验内容

(1) 用双线性变换法设计一个巴特沃斯低通IIR数字滤波器。设计指标参数为:在通带内频率低于0.2π时,最大衰减小于1dB;在阻带内[0.3π, π] 频率区间上,最小衰减大于15dB。

(2) 以0.02π为抽样间隔,打印出数字滤波器在频率区间[0, π/2]上的幅频响应特性曲线。

(3) 用所设计的滤波器对实际心电图信号抽样序列(在本实验后面给出)进行仿真滤波处理,并分别打印出滤波前后的心电图信号波形图,观察总结滤波作用与效果。

4. 思考题

用双线性变换法设计数字滤波器过程中,变换公式s =  中T的取值,对设计结果有无影响?为什么?

答:对设计结果没有影响。 因为,所以s=,,

只与信号本身有关,即s与T无关。

5. 实验仿真图及结论

(1) x(n)作为输入序列,滤除其中的干扰成分。

{x(n)}={-4,  -2,   0,  -4,  -6,  -4, -2, -4, -6,  -6,
-4,  -4,  -6,  -6,  -2,   6, 12,  8,  0, -16,
-38,-60, -84, -90, -66, -32, -4, -2, -4,   8,
12,  12,  10,   6,   6,   6,  4,  0,  0,   0,
0,    0,  -2,  -4,   0,   0,  0, -2, -2,   0,
0,   -2,  -2,  -2,  -2,   0,}

程序代码: 

wp=0.2*pi;

ws=0.3*pi;

Rp=1;

As=15;

T=1;

WP=(2/T)*tan(wp/2);

WS=(2/T)*tan(ws/2);

[N,Wc]= buttord(WP,WS,Rp,As,'s');

[bt,at]=butter(N,Wc,'s')

[bd,ad ]=bilinear(bt,at,1/T)

[hd,wd]=freqz(bd,ad);

figure(1);

plot(wd/pi,abs(hd)),grid;

axis([0,1,0,1])

xlabel('w/pi');ylabel('abs(h)')

title('数滤波器的频率响应')

n=[1:56];

x=[-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,6,4,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0] ;

y1=fft(x,64);

i=0:63;

figure(2);

subplot(2,2,1);

stem(n,x);title('心电图原始波形');

xlabel('n');ylabel('x');

subplot(2,2,2);

stem(i,abs(y1));title('心电图频谱');

xlabel('i');ylabel('abs(y1)');

y2=filter(bd,ad,x);

subplot(2,2,3);stem(y2);grid;

title('通过滤波器滤除频扰的时域波形y2');

y3=fft(y2,64);

z=0:63;

subplot(2,2,4);stem(z,abs(y3));

title('通过滤波器滤除频扰的心电图频谱');

xlabel('z');ylabel('abs(y3)');

(2) 双线性变换法的特点。

1.模拟滤波器经过双线性变换后,不存在频率特性的混叠失真,因而对模拟滤波器的

频率响应函数Ha(s) 无限带要求,而且能够直接用于设计低通、高通、带通、带阻等各种类型的数字滤波器。 

2.与冲激响应不变法中模拟频率与数字频率之间的线性关系ω=ΩTs不同的是,双线

性变换法中模拟滤波器的频率与所转换成的数字滤波器的频率之间是非线性关系,但是,如果事先进行频率预畸变,这种非线性关系不会使所设计的数字滤波器的幅频特性受到影响。由于频率的非线性关系会产生相频特性失真,所以若对数字滤波器的相位特性要求较严,则不宜采用这种变换方法。 

3.双线性变换方法比较容易,不需要将模拟系统函数进行部分分式分解。双线性变换法消除了多值变换性,也就消除了频谱混叠现象

(3) 数字滤波器的滤波过程与滤波作用。

由上述滤波前后的心电图信号波形知,数字滤波器的滤波过程就是将输入序列通过一定的运算变换成输出序列,滤波的作用就是通过一定的计算消除或削弱一些不需要的频率分量的干扰。

更多相关推荐:
数字信号处理实验报告

南京信息工程大学数字信号处理实验报告学院:电子与信息工程学院班级:11通信1班学号:XXX姓名:XX指导教师:XX20XX/12/6实验一Matlab基本知识和信号处理工具箱一、实验目的1、了解Matlab的基…

数字信号处理实验报告 - 1

数字信号处理第一次实验报告学院:信息工程学院专业:电子信息工程二班学号:***姓名:实验一:系统响应及系统稳定性1.实验目的(1)掌握求系统响应的方法。(2)掌握时域离散系统的时域特性。(3)分析、观察及检验系…

数字信号处理实验报告

数字信号处理实验报告专业电子信息工程学号111308336姓名张强伟实验一数字滤波器的结构一实验目的1加深对数字滤波器分类与结构的了解2明确数字滤波器的基本结构及其相互间的转换方法3掌握用MATLAB进行数字滤...

数字信号处理实验报告

北京信息科技大学实验报告课程名称数字信号处理实验项目IIR数字滤波器设计实验仪器计算机MATLAB软件学院信息与通信工程学院班级姓名学号实验日期指导老师实验成绩实验二IIR数字滤波器设计一实验目的1熟悉用双线性...

数字信号处理实验报告一

西南大学学生实验报告姓名杨剑学号2220xx3220xx058班级1班专业电科实验日期20xx年9月29日实验学时2学时实验名称基本信号的产生和序列的基本运算实验目的学习使用MATLAB产生基本信号绘制信号波形...

哈工大 数字信号处理实验报告

实验一用FFT作谱分析实验目的1进一步加深DFT算法原理和基本性质的理解因为FFT只是DFT的一种快速算法所以FFT的运算结果必然满足DFT的基本性质2熟悉FFT算法原理和FFT子程序的应用3学习用FFT对连续...

数字信号处理实验报告2

实验一序列的产生姓名高洪美学号0819xx9213班级生医5班一实验目的熟悉MATLAB中产生信号和绘制信号的基本命令二实验环境基于WindowsPC的MATLAB三实验内容1单位样本和单位阶跃序列2指数信号3...

数字信号处理实验报告三 哈尔滨工程大学

三实验程序及结果31正弦信号混叠A程序gtgtnn079gtgtsinussin2pi3008000nngtgtstemnnsinusb程序gtgtplotnnsinuscgtgtnn079sinussin2p...

中南大学数字信号处理实验报告

中南大学数字信号处理实验报告学生姓名学号指导教师学院专业班级完成时间2目录实验一实验二常见离散时间信号的产生和频谱分析3实验结果与分析5数字滤波器的设计14实验结果与分析173实验一常见离散时间信号的产生和频谱...

数字信号处理实验报告1

离散傅立叶变换的性质及应用实验报告学院电子信息学院专业班级实验数据第1题1代码如下functionamphadft1xNlengthxwexpj2piNfork1Nsum0forn1Nsumsumxnwk1n1...

20xx级数字信号处理实验报告1

20xx级数字信号处理实验报告实验名称实验一数字信号的产生和基本运算1实验要求因为现实世界里存在的是模拟信号因此数字信号处理的第一个问题是将信号离散化得到一个数字信号然后再进行数字处理1常用数字信号序列的产生熟...

数字信号处理实验报告

目录实验1离散时间信号的频域分析2实验2FFT实验3IIR实验4FIR算法与应用7数字滤波器的设计12数字滤波器的设计171实验1离散时间信号的频域分析一实验目的信号的频域分析是信号处理中一种有效的工具在离散信...

数字信号处理实验报告(35篇)