最新数字信号处理实验Matlab实验数字与信号处理.docx
《最新数字信号处理实验Matlab实验数字与信号处理.docx》由会员分享,可在线阅读,更多相关《最新数字信号处理实验Matlab实验数字与信号处理.docx(11页珍藏版)》请在冰豆网上搜索。
最新数字信号处理实验Matlab实验数字与信号处理
实验一信号、系统及系统响应
一、实验目的
1.熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样定理的理解。
2.熟悉离散信号和喜用的时域特性。
3.熟悉线性卷积的计算变成方法,利用卷积的方法,观察、分析系统响应的时域特性。
4.掌握序列傅氏变换的计算机实现方法,利用序列的傅氏变换对离散信号、系统及系统响应进行频域分析。
二、实验原理
(1)连续时间信号的采样
采样是从连续时间信号到离散时间信号的过度桥梁,对采样过程的研究不仅可以了解采样前后信号时域和频域特性发生的变化以及信号内容部丢失的条件,而且有助于加深对拉式变化。
傅氏变化、Z变化和序列傅氏变换之间的关系。
对一个连续时间信号进行理想采样的过程可以表示为该信号的一个周期冲击脉冲的乘积,即
(1--1)
其中
是连续信号
的理想采样,
是周期冲击脉冲
(1--2)
(1--3)
其中T为采样周期,
是采样角频率。
设
是连续时间信号
的双边拉氏变换,即有:
(1--4)
此时理想采样信号
(1--5)
作为拉氏变换的一种特例,信号理想采样的傅里叶变换
(1---6)
由式(1--5)和(1--6)可知,信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期等于采样。
根据Shannon取样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量2倍,则采样以后不会发生频谱混淆现象。
在计算机处理时,不采用式(1--6)计算信号的频谱,而是利用序列的傅里叶变换计算信号的频谱,定义序列
根据Z变换的定义,可以得到序列
的Z变换为:
(1--7)
以
代替上式中的Z,就可以得到序列
的傅里叶变换
(1--8)
式(1--6)和(1--8)具有如下关系:
(1--9)
由式(1--9)可知,在分析一个连续时间信号的频谱时,可以通过取样将有关的计算转化为序列傅里叶变化的计算。
(2)有限长序列分析
一般来说,在计算机上不可能,也不必要处理连续的曲线
,通常,我们只要观察、分析
在某些频率点上的值。
对于长度为N的有限长序列
(1--10)
一般只需要在0—2
之间均匀地取M个频率点,计算这些点上的序列傅里叶变换
(1--11)
其中
是一个复函数,它的模就是幅频特性曲线。
(3)信号卷积
一个线性时不变离散系统的响应
可以用它的单位冲激响应
和输入信号
的卷积来表示:
(1--12)
根据傅里叶变换和Z变换,与式(1--12)对应应该由
(1--13)
(1--14)
式(1--12)告诉我们可以通过对两个序列的移位、相乘、累加计算信号响应;而式(1--14)告诉我们卷积运算也可以在频域上用乘积实现。
三、实验内容及步骤
(一)编制实验用主程序及相应子程序
1、信号产生子程序,包括:
(1)理想采样信号序列:
对信号
进行理想采样,可以得到一个理想的采样信号序列:
,其中,A为幅度因子,
是衰减因子,
是频率。
T为采样周期。
(2)单位脉冲序列
(3)矩形序列
,其中N=10
2、系统单位脉冲响应序列产生子程序,本实验中用到两种FIR系统:
(1)
(2)
3、有限长序列线性卷积子程序,用于计算两个给定长度(分别是M和N)的序列的卷积,输出序列长度为
.
(二)上机实验内容
在编制以上各部分程序以后,编制主程序调用各个功能模块实现对信号、系统和系统响应的时域和频域分析,完成以下实验内容。
1.产生理想采样信号序列xa(n),A=444.128;a=50*sqrt(2.0)*pi;w0=50*sqrt(2.0)*pi;
编写M文件zhic1
n=0:
50;
A=444.128;
a=50*sqrt
(2)*pi;
T=input('T=');
w0=50*sqrt
(2)*pi;
x=A*exp(-a*n*T).*sin(w0*n*T);
m=input('m=');subplot(3,2,m);stem(n,x);
title('理想采样信号序列');
k=-25:
25;
f=(1/25)*k*(1/T);
X=x*(exp(-j*pi/12.5)).^(n'*k);
magX=abs(X);
o=input('o=');subplot(3,2,o);stem(f,magX);保存zhic1
>>zhic1
T=1/1000
m=1
o=2
>>zhic1
T=1/300
m=3
o=4
>>zhic1
T=1/200
m=5
o=6
2.离散信号、系统和系统响应的分析
观察信号xb(n)和系统hb(n)的时域和幅频特性,求信号通过系统以后的响应。
>>n=1:
50;hb=zeros(1,50);
>>hb
(1)=1;hb
(2)=2.5;hb(3)=2.5;hb(4)=1;
>>closeall;subplot(3,1,1);stem(hb);title('特定冲击串')
>>k=-25:
25;Hb=hb*(exp(-j*pi/12.5)).^(n'*k);
>>magHb=abs(Hb);subplot(3,1,2);stem(magHb);title('特定冲击串的幅度谱')
>>angHb=angle(Hb);subplot(3,1,3);stem(angHb);title('特定冲击串的相位谱')
(2)观察信号xc(n)和系统ha(n)的时域和幅频特性,利用线性卷积求系统响应。
>>n=0:
50;
x=[ones(1,10),zeros(1,41)];
subplot(3,1,1);stem(n,x);title('矩形序列')
axis([05001.2]);
k=-25:
25;X=x*(exp(-j*pi/12.5)).^(n'*k);
magX=abs(X);subplot(3,1,2);stem(magX);title('矩形序列的幅度谱')
angX=angle(X);subplot(3,1,3);stem(magX);title('矩形序列的相位谱')
>>y=conv(x,x);
>>subplot(3,1,1);stem(y);title('系统响应')
>>k=1:
99;Y=fft(y);
>>magY=abs(Y);subplot(3,1,2);stem(magY);title('系统响应的幅度谱')
>>angY=angle(Y);subplot(3,1,3);stem(angY);title('系统响应的相位谱'
3.卷积定律的验证
>>n=1:
50;ha=zeros(1,50);ha
(1)=1;ha
(2)=2.5;ha(3)=2.5;ha(4)=1;
>>n=1:
50;A=444.128;a=50*sqrt(2.0)*pi;T=0.001;w0=50*sqrt(2.0)*pi;
>>xa=A*exp(-a*n*T).*sin(w0*n*T);
>>y=conv(xa,ha);
>>k=-25:
25;Xa=xa*(exp(-j*pi/12.5)).^(n'*k);
>>magXa=abs(Xa);subplot(3,2,1);stem(magXa);title('输入信号的幅度谱')
>>angXa=angle(Xa);subplot(3,2,2);stem(angXa);title('输入信号的相位谱')
>>Ha=ha*(exp(-j*pi/12.5)).^(n'*k);
>>magHa=abs(Ha);subplot(3,2,3);stem(magHa);title('系统响应的幅度谱')
>>angHa=angle(Ha);subplot(3,2,4);stem(angHa);title('系统响应的相位谱')
>>n=1:
99;k=1:
99;
>>Y=y*(exp(-j*pi/12.5)).^(n'*k);
>>magY=abs(Y);subplot(3,2,5);stem(magY);title('输出信号的幅度谱')
>>angY=angle(Y);subplot(3,2,6);stem(angY);title('输出信号的相位谱')
>>XaHa=Xa.*Ha;
>>subplot(2,1,1);stem(abs(XaHa));title('x(n)的幅度谱与h(n)幅度谱相乘')
>>subplot(2,1,2);stem(abs(Y));title('y(n)的幅度谱')
>>axis([0,60,0,8000])
四、思考题
.回答上机内容2—
(2)中的问题。
答:
响应序列图形及序列非零值长度与理论值结果相近,因为x(n)和h(n)都是长度为10的矩形序列,运用线性卷积公式可以求出系统响应。
五、实验总结
1.通过实验了解信号采样前后的频谱变化,加深对采样定理的理解。
2.在试验中利用卷积的方法,观察、分析系统响应的时域特性。
3.根据对卷积定理的验证加深了对定理的理解。