DSP实验报告一.docx
- 文档编号:30647645
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:25
- 大小:553.42KB
DSP实验报告一.docx
《DSP实验报告一.docx》由会员分享,可在线阅读,更多相关《DSP实验报告一.docx(25页珍藏版)》请在冰豆网上搜索。
DSP实验报告一
实验一信号系统及系统响应
一、实验目的
1、熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对采样定理的理解。
2、熟悉离散信号和系统的时域特性。
3、熟悉线性卷积的计算编程方法:
利用卷积的方法,观察、分析系统响应的时域特性。
4、掌握序列傅氏变换的计算机实现方法,利用序列的傅氏变换对离散信号、系统及系统响应进行频域分析。
二、实验原理
(一)连续时间信号的采样
采样是指按一定的频率从模拟信号抽样获得数字信号。
采样是从连续时间信号到离散时间信号的过渡桥梁。
对一个连续时间信号进行理想采样的过程可以表示为该信号的一个周期冲激脉冲的乘积,即
(1)
其中连续信号的理想采样,是周期冲激脉冲
(2)
它也可以用傅立叶级数表示为:
(3)
其中T为采样周期,Ω是采样角频率。
设是连续时间信号的双边拉氏变换,即有:
(4)
此时理想采样信号的拉氏变换为
(5)
作为拉氏变换的一种特例,信号理想采样的傅立叶变换
(6)
由式(5)和式(6)可知,信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期等于采样频率。
根据Shannon取样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频谱混淆现象。
计算机处理是利用序列的傅立叶变换计算信号的频谱,定义序列,根据Z变换的定义,可以得到序列x(n)的Z变换为:
(7)
以代替上式中的z,就可以得到序列x(n)的傅立叶变换
(8)
式(6)和式(8)具有如下关系:
(9)
由式(9)可知,在分析一个连续时间信号的频谱时,可以通过取样将有关的计算转化为序列傅立叶变换的计算。
(二)有限长序列分析
一般来说,在计算机上不可能,也不必要处理连续的曲线,通常,我们只要观察、分析在某些频率点上的值。
对于长度为N的有限长序列
(10)
一般只需要在0−2π之间均匀地取M个频率点,计算这些点上的序列傅立叶变换
(11)
其中,
=2πk/M,k=0,1,..,M-1。
是一个复函数,它的模就是幅频特性曲线。
(本实验一律采取M=50)。
(三)信号卷积
一个线性时不变离散系统的响应y(n)可以用它的单位冲激响应h(n)和输入信号x(n)的卷积来表示:
(12)
根据傅立叶变换和Z变换的性质,与式(12)对应应该有
(13)
(14)
式(12)告诉我们可以通过对两个序列的移位、相乘、累加计算信号响应;而式(14)告诉我们卷积运算也可以在频域上用乘积实现。
三、实验内容及步骤、结果分析
(一)编制实验用主程序及相应子程序
1、信号产生子程序:
(1)理想采样信号序列:
对信号
进行理想采样,可以得到一个理想的采样信号序列:
,
其中A为幅度因子,α是衰减因子,Ω是频率。
T为采样周期。
(2)单位脉冲序列
(3)矩形序列,
其中N=10
2、系统单位脉冲响应序列产生子程序,本实验中用到两种FIR系统:
(1)
(2)
3、有限长序列线性卷积子程序,用于计算两个给定长度(分别是M和N)的序列的卷积,输出序列长度为L=N+M-1。
程序见源代码。
(二)上机实验内容与结果分析
1、分析理想采样信号序列的特性。
产生理想采样信号序列,使A=128.444,α=50
=Ω0。
(1)首先选用采样频率为1000Hz,T=1/1000,观察所得理想采样信号的幅频特性,在折叠频率以内和给定的理想幅频特性无明显差异,并做记录;
(2)改变采样频率为300Hz,T=1/300,观察所得到的频谱特性曲线的变化,并做记录;(3)进一步减小采样频率为200Hz,T=1/200,观察频谱“混淆”现象是否明显存在,说明原因,并记录这时候的幅频特性曲线。
结果分析:
(1)采样频率为1000Hz时,信号、幅频、相频分别为:
可以看出在折叠频率500Hz以内和理想幅频特性无明显差异。
(2)采样频率为300Hz时,信号、幅频、相频分别为:
此时和
(1)中比较起来频谱有明显泄漏。
(3)采样频率为200Hz时,信号、幅频、相频分别为:
上图表明当采样频率进一步降低时,频谱泄漏更为严重。
2、离散信号、系统和系统响应的分析
(1)观察信号xb(n)和系统hb(n)的时域和幅频特性;利用线性卷积求信号通过系统以后的响应。
比较系统响应和系统h的时域及幅频特性。
注意它们之间有无差异,绘出图形。
结果分析:
xb(n)的时域和幅频特性如下:
hb(n)的时域和幅频特性如下:
通过线性卷积后系统响应及其幅频如下:
从中可以看出,线性卷积后的输出除了序列长度有所增加外,幅频响应并没有什么变化。
(2)观察信号xc(n)和系统函数ha(n)的时域和幅频特性,利用线性卷积求系统响应。
判断响应序列图形及序列非零值长度是否与理论结果一致,说出一种定性判断响应序列图形正确与否的方法。
利用序列的傅立叶变换数值计算子程序求出输出序列的DFT,观察响应序列的幅频特性。
定性判断结果正确与否。
改变信号的矩形宽度,使N=5,重复以上动作,观察变化,记录改变参数前后的差异。
由于ha(n)=xc(n),两者的时域和幅频如下:
注意到xc(n)=ha(n)=R10(n),假设序列长度均为10;则输出长度为19,且很明显没有连续的零结尾。
而xc和ha只是在长度为10的序列后面补零,输出非零值长度应该也是19。
从图上看出的确如此。
而输出响应的频谱应是输入频谱和系统函数频谱的乘积,在本例中即是前者的平方。
可从响应的幅频图上定性观察得到验证。
若将N改为5,则有
卷积非零值长度仍为N+M-1=14。
幅频仍是ha(n)和xc(n)幅频的乘积。
(3)将实验步骤2-
(2)中的信号换为xa(n),其中A=1,α=0.4,Ω0=2.0734,T=1。
重复实验2-
(2)各步骤,改变xa(n)的参数α=0.1再重复实验2-
(2)各步骤;改变参数Ω0=1.2516,重复实验2-
(2)各步骤。
在实验中观察改变α和Ω0对信号及系统响应的时域和幅频特性的影响,绘制相应的图形。
A=1,α=0.4,Ω0=2.0734,T=1时
A=1,α=0.1,Ω0=2.0734,T=1时
A=1,α=0.1,Ω0=1.2516,T=1时
α越大,xc序列衰减得越快,非零值长度越短,系统响应也就越短。
Ω0越大,信号周期越短,频谱上能量就越集中于靠后的地方。
3、卷积定律的验证。
利用式(14)将xa(n)和系统ha(n)的傅氏变换相乘,直接求得
,将得到的幅频特性曲线和实验2-(3)中得到的曲线进行比较,观察二者有无差异。
验证卷积定律。
结果分析:
令A=1,α=0.5,Ω0=1.25,T=1,作为xa(n),所得频谱图如下:
可以看到,直接将傅里叶变换相乘与通过时域卷积再变换结果是完全一样的,这样就验证了卷积定律。
四、思考题
1、回答上机内容2-
(2)中的问题。
答:
(1)定性判断响应序列图形正确与否的方法:
注意到xc(n)=ha(n)=R10(n),假设序列长度均为10;则输出长度为19,且很明显没有连续的零结尾。
而xc和ha只是在长度为10的序列后面补零,输出非零值长度应该也是19。
从图上看出的确如此。
(2)输出响应的频谱应是输入频谱和系统函数频谱的乘积,在本例中由于xc(n)=ha(n),即是前者的平方。
这点可从响应的幅频图上定性观察得到验证。
2、在分析理想采样信号序列的特性实验中,利用不同采样频率所得到的采样信号序列的傅氏变化频谱,数字频率度量是否相同?
它们所对应的模拟频率是否都相同?
答:
利用不同采样频率,数字频率度量一样。
例如本实验中均在单位圆内取五十个点,则每个点代表频率为wk=2πi/50=πi/25(i=1,1,2,……)
但代表的模拟域频率不一样,代表了
(其中
是采样频率)。
3、在卷积定律的验证实验中,如果选用不同的M值,例如选M=50和M=30,分别做序列的傅氏变换,并求得
,所得的结果之间有何差异?
为什么?
答:
实际上不管M的取值如何,信号的DTFT并未有任何变化,M取值只是表明了在单位圆周上的取样值的多少。
而DTFT满足卷积定律,因此,只要保证在单位圆上选取的点位置一致,数量一致,结果一定满足卷积定律。
五、实验总结
本次实验是信号系统和系统响应。
通过本次试验,进一步熟悉了理想采样的性质,
了解了离散信号和系统的时域特性。
加深了对线性卷积的理解,掌握了序列傅氏变换的计算机实现方法。
模拟带限信号的采样如果满足采样定律,则信号内容不会丢失,否则就会产生频谱混叠和失真。
离散信号和模拟信号一样,通过线性时系统之后,输出是系统冲击响应和输入信号的线性卷积。
同时由卷积定律知,输出信号的频谱是输入信号频谱和系统冲击响应频谱的乘积,并对其进行了验证。
由于序列的傅里叶变换是连续的,但在计算机上实现时没必要花费太大的计算量,因为有很大的冗余度。
实际上由DFT性质,均匀取样序列长度的点就可以保证频谱信号的完整性。
六、源代码
%主程序:
%************************************************************************************
%分析理想采样信号序列的特性。
A=4444.128;alpha=50*sqrt
(2)*pi;w0=50*sqrt
(2)*pi;
T=1/1000;n=1:
50;
closeall;
xa=pro_xa(A,alpha,w0,T,n);closeall;
subplot(3,1,1);stem(xa);title('理想采样序列');
k=1:
50;X=xa*(exp(-j*pi/25)).^(n'*k);
magX=abs(X);
subplot(3,1,2);stem(magX);title('理想采样序列的幅频');magX=angle(X);
subplot(3,1,3);stem(magX);title('理想采样序列的相位')
T=1/300;n=1:
50;
closeall;
xa=pro_xa(A,alpha,w0,T,n);closeall;
subplot(3,1,1);stem(xa);title('300Hz采样序列');
X=xa*(exp(-j*pi/25)).^(n'*k);
magX=abs(X);
subplot(3,1,2);stem(magX);title('300Hz采样序列的幅频');magX=angle(X);
subplot(3,1,3);stem(magX);title('300Hz采样序列的相位')
T=1/200;n=0:
50;
closeall;
xa=pro_xa(A,alpha,w0,T,n);closeall;
subplot(3,1,1);stem(xa);title('200Hz采样序列');
X=xa*(exp(-j*pi/25)).^(n'*k);
magX=abs(X);
subplot(3,1,2);stem(magX);title('200Hz采样序列的幅频');
magX=angle(X);
subplot(3,1,3);stem(magX);title('200Hz采样序列的相位');
%******************************************************************************************************
%离散信号、系统和系统响应的分析
%
(1)
xb=pro_delta(50);
subplot(2,1,1);stem(xb);title('xb(n)');k=1:
50;
X=xb*(exp(-j*pi/25)).^(n'*k);
magX=abs(X);
subplot(2,1,2);stem(magX);title('xb(n)的幅频');
hb=pro_hb();
subplot(2,1,1);stem(hb);title('hb(n)');
X=xb*(exp(-j*pi/25)).^(n'*k);
magX=abs(X);
subplot(2,1,2);stem(magX);title('hb(n)的幅频');
xb=pro_delta(50);
hb=pro_hb();
out=JJ(xb,50,hb,50);subplot(2,1,1);stem(out);title('系统响应');
n=1:
99;X=out'*(exp(-j*pi/25)).^(n'*k);
magX=abs(X');
subplot(2,1,2);stem(magX);title('系统响应的幅频')
%
(2)
xc=pro_xc(10,50);
ha=xc;
subplot(2,1,1);stem(xc);title('xc(n)/ha(n)');
x=my_DFT(xc,1:
50,1:
50,50);
subplot(2,1,2);show_A(x);title('xc(n)/ha(n)的幅频');
out=JJ(ha,50,xc,50);
subplot(2,1,1);stem(out);title('卷积结果');
x=my_DFT(out,1:
50,1:
99,50);
subplot(2,1,2);show_A(x);title('响应幅频');
%%%%%%%%%%%%%%%%
xc=pro_xc(5,50);
ha=pro_xc(10,50);
subplot(2,1,1);stem(xc);title('xc(n)');
subplot(2,1,2);stem(ha);title('ha(n)');
x=my_DFT(xc,1:
50,1:
50,50);
subplot(2,1,1);show_A(x);title('xc(n)的幅频');
x=my_DFT(ha,1:
50,1:
50,50);
subplot(2,1,2);show_A(x);title('ha(n)的幅频');
out=JJ(ha,50,xc,50);
subplot(2,1,1);stem(out);title('卷积结果');
x=my_DFT(out,1:
50,1:
99,50);
subplot(2,1,2);show_A(x);title('响应幅频');
%(3)
xc=pro_xa(1,0.4,2.073,1,1:
50);
subplot(2,1,1);
stem(xc);title('xc(n)');
x=my_DFT(xc,1:
50,1:
50,50);
subplot(2,1,2);show_A(x);title('xc(n)的幅频');
out=JJ(ha,50,xc,50);
subplot(2,1,1);stem(out);title('卷积结果');
x=my_DFT(out,1:
50,1:
99,50);
subplot(2,1,2);show_A(x);title('响应幅频');
%%%%%%%%%%%%
xc=pro_xa(1,0.4,2.073,1,1:
50);
subplot(2,1,1);
stem(xc);title('xc(n)');
x=my_DFT(xc,1:
50,1:
50,50);
subplot(2,1,2);show_A(x);title('xc(n)的幅频');
out=JJ(ha,50,xc,50);
subplot(2,1,1);stem(out);title('卷积结果');
x=my_DFT(out,1:
50,1:
99,50);
subplot(2,1,2);show_A(x);title('响应幅频');
xc=pro_xa(1,0.1,2.073,1,1:
50);
subplot(2,1,1);
stem(xc);title('xc(n)');
x=my_DFT(xc,1:
50,1:
50,50);
subplot(2,1,2);show_A(x);title('xc(n)的幅频');
out=JJ(ha,50,xc,50);
subplot(2,1,1);stem(out);title('卷积结果');
x=my_DFT(out,1:
50,1:
99,50);
subplot(2,1,2);show_A(x);title('响应幅频');
xc=pro_xa(1,0.4,1.2516,1,1:
50);
subplot(2,1,1);
stem(xc);title('xc(n)');
x=my_DFT(xc,1:
50,1:
50,50);
subplot(2,1,2);show_A(x);title('xc(n)的幅频');
out=JJ(ha,50,xc,50);
subplot(2,1,1);stem(out);title('卷积结果');
x=my_DFT(out,1:
50,1:
99,50);
subplot(2,1,2);show_A(x);title('响应幅频');
%*******************************************************************************************************
%验证卷积定律
y=my_DFT(xa,1:
50,1:
50,50);
subplot(4,1,1);show_A(y);title('xa(n)的幅频');
x=my_DFT(ha,1:
50,1:
50,50);
subplot(4,1,2);show_A(x);title('ha(n)的幅频')
z=x.*y;subplot(4,1,3);show_A(z);title('变换相乘');
out=JJ(ha,50,xa,50);
m=my_DFT(out,1:
50,1:
99,50);
subplot(4,1,4);show_A(m);title('响应幅频');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%子程序:
function[JJ]=JJ(x,M,y,N);
%卷积子程序
JJ=zeros(1,N+M-1);
fork=1:
N+M
forp=1:
M
if((k+p))>0&&((k+p) JJ(k)=JJ(k)+x(p)*y(k+p); end end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function[X]=my_DFT(x,k,n,M); %离散傅里叶变换 X=x*(exp(-j*2*pi/M)).^(n'*k); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function[xb]=pro_delta(N); %产生冲激序列 xb=zeros(1,N); xb (1)=1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function[hb]=pro_hb(); %产生hb(n); hb=zeros(1,50); hb (1)=1;hb (2)=2.5;hb(3)=2.5;hb(4)=1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function[xa]=pro_xa(A,alpha,w0,T,n) %产生采样信号 xa=A*exp(-alpha*n*T).*sin(w0*n*T); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function[xc]=pro_xc(N,P); %产生矩形序列 xc=zeros(1,P) fork=1: Nxc(k)=1;end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function[x]=show_A(xa); %显示幅频 x=abs(xa); stem(x);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 实验 报告