信号与系统实验报告.docx
《信号与系统实验报告.docx》由会员分享,可在线阅读,更多相关《信号与系统实验报告.docx(17页珍藏版)》请在冰豆网上搜索。
![信号与系统实验报告.docx](https://file1.bdocx.com/fileroot1/2023-1/22/52c73748-e3bb-409c-aac4-39be3c96993e/52c73748-e3bb-409c-aac4-39be3c96993e1.gif)
信号与系统实验报告
信号与系统
实验报告
学院电子与信息学院
专业信
姓名
学号
座号11
提交日期2010-8-10
实验一
一、实验要求:
观察周期信号各次谐波的迭加,重建信号实验及吉布斯现象的观察,加窗函数的影响。
二、实验目的
1.学习使用Matlab,了解和熟悉Matlab编写程序和进行仿真;
2.观察、了解信号重建的过程,观察吉布斯现象并了解其产生的原因;
3.体会加窗函数对信号重建的影响。
三、实验步骤:
1.假设有周期矩形波信号:
,|t|<=
/2时,
=A,|t|>
/2时,
=0;
2.由
=
构建各谐波信号;
3.使用matlab绘出n不同时
重建后的图形;
创建shiyan1.m,源代码如下:
t=-3:
0.001:
3;%从-3~3隔0.001取离散点
N=input('输入谐波阶数n=');%输入要迭加谐波的次数
c0=0.5;%方波的振幅为0.5
xn=c0*ones(1,length(t));%直流分量设为1
forn=1:
2:
N%偶次谐波为零
xn=xn+cos(pi*n*t)*sinc(n/2);
end
plot(t,xn);
title(['各次谐波迭加重建信号n=',num2str(N)]);%num2str()把数字转换成字符输出
xlabel('t');%标记横坐标
axis([-5,5,-0.2,1.2]);%设置横坐标与纵坐标的刻度范围
分多次运行分别输入不同的n值,截下各阶数重建型号的图形如下:
n=10;
n=20;
n=200;
n=1000;
4.比较不同n值下重建图形的差异,分析得出结论;
从图形中可以看出n值越大,所得到的图形越接近于周期矩形方波,这说明n值越大通过傅里叶反变换重建还原的信号失真越小,越接近于原信号。
故可通过提高谐波信号的阶数提高信号还原的精度。
另外从图形中也可以明显的看出,随着n值的增加,重建信号在不连续点附近发生起伏,其频率随n的增加而变大,但起伏的峰值不随n的变化而变化,当信号在不连续点的跳越值为1时,起伏峰值为1.09,这就是Gibbs现象。
造成Gibbs现象的原因是周期信号
的Fourier级数在
不连续点附近只满足能量意义下的收敛,不满足一致收敛。
5.假设有周期离散信号x=0.5*cos(11*pi*k/20)+cos(9*pi*k/20);
6.以加矩形窗为例,使用宽度为N的不同矩形框截取该离散周期数列,创建shiyan2.m,源代码如下:
N=input('N=');
k=-100:
100;
x=0.5*cos(11*pi*k/20)+cos(9*pi*k/20);%原信号
X=fft(x,256);
figure;
plot([-128:
127],abs(fftshift(X)));axis([-150,150,0,100]);gridon;
title('X(w)');xlabel('w');
w=[zeros(1,100),ones(1,N),zeros(1,100-N+1)];%矩形窗
figure;%新建绘图窗口
x2=w.*x;%窗处理
X2=fft(x2,256);%fft为快速傅利叶变换
plot([-128:
127],abs(fftshift(X2)));axis([-150,150,0,100]);gridon;
title(['X(w)矩形窗N=',num2str(N)]);xlabel('w');
7.观测截取后的图形如下:
N=10
N=50;
N=100;
8.分析得出结论。
在信号的频谱分析中,使用窗函数截短无穷长的序列会造成频率泄漏,影响频谱分析的精度和质量。
合理选取窗函数的类型,可以改善泄漏现象。
从三组图片的对比可以看出,对于矩形窗而言,加的窗函数长度越长,重建信号的失真度越小。
实验二
一、实验要求:
使用matlab实现连续时间信号频谱的计算,分析抽样率、样点数等因素对误差的影响。
二、实验目的
1.学习使用Matlab,了解和熟悉Matlab编写程序和进行仿真;
2.观察探讨连续时间信号频谱的计算,抽样率,样点数等因素对误差形成的影响
3.通过实验进一步理解掌握抽样道理。
三、实验步骤:
1.以连续时间周期信号
+sin(15
)为例进行实验,则fmax=15Hz;
2.利用fft函数获得
的频谱;
3.采用不同的频率fasm对原信号进行采样,利用fft函数获得采样后的频谱;
新建shiyan2_1.m,源代码如下:
%shiyan2.m
T0=1;N=[5,15,30,50];%周期T0、FFT的点数N
fori=1:
4
T=T0/N(i);%抽样间隔T
t=0:
T:
T0;
x=cos(10*pi*t)+sin(15*pi*t);%周期信号x(t)
Xm=fft(x,N(i))/N(i);%利用FFT计算其频谱
f=(-(N(i)-1)/2:
(N(i)-1)/2)/N(i)/T;%N为奇数
subplot(2,2,i);%2*2格式画图
stem(f,abs(fftshift(Xm)),'.');%画出幅度谱
xlabel('f(Hz)');title(['抽样频率为',num2str(N(i)),’Hz’]);
axis([-15,15,-0.2,1.2]);
end
4.观察不同采样率与样点值信号采样后的频谱图与原信号频谱图的区别
如图分别采用5Hz、15Hz、30Hz、50Hz对信号采样后再进行频谱变换,结果如下:
显然可以看出当抽样频率小于2fm=30Hz时,采样后的频谱将出现混叠,只要采样频率满足乃奎斯定理即fasm>=2fm时才能保证信号采样后不发生混叠失真。
5.利用DFT计算连续非周期信号
的频谱
a)分析步骤为:
(1)根据时域抽样定理,确定时域抽样间隔T,得到离散序列x[k];
(2)确定信号截短的长度M及窗函数的类型,得到有限长M点离散序列xM[k]=x[k]w[k];
(3)确定频域抽样点数N,要求N>=M;
(4)利用FFT函数进行N点FFT计算得到N点的X[m];
(5)由X[m]可得连续信号频谱X(jw)样点的近似值
。
b)选取fm=25Hz为近似的最高频率,抽样频率fsam=50Hz,则抽样间隔T=1/(2fm)=0.02s,选取Tp=6s进行分析,则截短点数M=Tp/T=300,即频域抽样点数N必须大于300,本次实验选取N=50,280,450。
c)新建shiyan2_2.m文件,源代码如下:
%shiyan2_2.m
fsam=50;
T=1/fsam;
N=input('频域抽样点数N=');
Tp=6;
t=0:
T:
Tp;
x=exp(-1*t);
X=T*fft(x,N);
subplot(2,1,1);
plot(t,x);xlabel('t');title('时域波形');
w=(-N/2:
N/2-1)*(2*pi/N)*fsam;
y=1./(j*w+1);
subplot(2,1,2);
plot(w,abs(fftshift(X)),'r-.',w,abs(y),'b:
.');
title(['频域幅度谱(抽样点N=',num2str(N),’)’]);xlabel('w');
legend('理论值','计算值',0);
axis([-10,10,0,1.4]);
d)分别输入N=50;N=280;N=450,得到以下图形:
由上各图可知,频域抽样点数必须大于截短点数,才能保证对连续非周期信号采样后采样后频谱的失真度在合理范围内。
实验三
一、实验要求:
使用matlab进行希尔伯特变换与单边带幅度调制实验。
二、实验目的
1.学习使用Matlab,了解和熟悉Matlab编写程序和进行仿真;
2.观察、了解信号重建的过程,进一步认识希尔伯变换与信号的调制解调;
三、实验步骤:
A希尔伯特变换
1利用Matlab中提供的hilbert函数。
对信号进行相移。
2.新建shiyan3_1.m文件,以cos信号为例,输入源代码如下:
%shiyan3_1.m
t=0:
0.001:
1;
Fc=60;%载波信号的频率为60hz
x=cos(2*pi*Fc*t);
y=hilbert(x);
plot(t(1:
50),real(y(1:
50)));holdon
plot(t(1:
50),imag(y(1:
50)),':
');holdoff
3.结果与分析
如上图可明显看出信号经过希尔伯变换以后产生了450的相移。
B.单边带幅度调制
1.利用希尔伯特变换实现单边带幅度调制:
设信号x(t)的希尔伯特变换为xh(t),即
其FFT为:
XH(w)=X(w)[-jsgn(w)]
信号通过希尔伯特滤波器后,其频谱为:
得到
上边带信号:
下边带信号:
2.新建shiyan3_2.m文件,输入源代码如下:
%shiyan3_2.m
Fc=100;%载波频率
t=-2:
0.001:
2;
x=sinc(100*t).^2;%调制信号
ys=x.*cos(2*pi*Fc*t)-imag(hilbert(x)).*sin(2*pi*Fc*t);%获得上边带信号
yx=x.*cos(2*pi*Fc*t)+imag(hilbert(x)).*sin(2*pi*Fc*t);%获得下边带信号
N=6000;
X=fft(x,N);
YS=fft(ys,N);
YX=fft(yx,N);
subplot(2,3,1);
plot(t,x);
title('调制信号x(t)');axis([-0.02,0.02,-0.2,1.2]);xlabel('t');
subplot(2,3,4);
plot([-N/2:
N/2-1],fftshift(abs(X)));
title('x(t)的频谱');axis([-2000,2000,-1,10]);xlabel('w');
subplot(2,3,2);
plot(t,ys);
title('上边带已调信号y(t)');axis([-0.02,0.02,-2,2]);xlabel('t');
subplot(2,3,5);
plot([-N/2:
N/2-1],fftshift(abs(YS)));
title('y(t)的频谱');axis([-2000,2000,-1,10]);xlabel('w');
subplot(2,3,3);
plot(t,yx);
title('下边带已调信号y(t)');axis([-0.02,0.02,-2,2]);xlabel('t');
subplot(2,3,6);
plot([-N/2:
N/2-1],fftshift(abs(YX)));
title('y(t)的频谱');axis([-2000,2000,-1,10]);xlabel('w');
2.结果与分析
从图中可看出原函数已被成功单边调制。
实验四
一、实验要求:
使用matlab进行由样点值恢复重建时域信号的实验。
二、实验目的
1.学习使用Matlab,了解和熟悉Matlab编写程序和进行仿真;
2.观察、了解信号由样点值恢复重建的过程,理解傅里叶反变换;
三、实验步骤:
1.如果满足抽样定理,可以唯一地由已抽样信号x[n]恢复出原时域信号x(t)。
在理想情况下,将离散时间序列通过一个理想低通滤波器,如下图:
理想低通滤波器的单位冲激相应为:
已抽样信号xp(t)的数学表达式为:
根据系统输入输出的卷积表达式,有
所以,
。
2.新建shiyan4.m文件,输入源代码如下:
%shiyan4.m
%原始信号x(t)=[1+cos(pi*t)].*[u(t+1)-u(t-1)].
clear,closeall
forc=1:
4
wm=2*pi;%原始信号x(t)最高频率
a=input('采样频率与信号频率的比值ws/wm=:
');%ws为采样频率
wc=wm;%wc为理想低通滤波器截止频率
t=-2:
0.001:
2;
x=(1+cos(pi*t)).*(heaviside(t+1)-heaviside(t-1));%原始信号,其中heaviside(t)为单位阶跃函数
ws=a*wm;
Ts=2*pi/ws;%采样周期
N=fix(2/Ts);%采样数
n=-N:
N;
nTs=n*Ts;
xs=(1+cos(pi*nTs)).*(heaviside(nTs+1)-heaviside(nTs-1));%x(t)的时域抽样点
xr=zeros(1,length(t));
L=length(-N:
N);
xa=xr;
fori=1:
L
m=(L-1)/2+1-i;
xa=Ts*(wc)*xs(i)*sinc((wc)*(t+m*Ts)/pi)/pi;
xr=xr+xa;%内插
end
subplot(2,2,c)%将3条曲线都往上移0.2,离开x轴,便于观察
plot(t,x+0.2);axis([-2,2,0,2.5]);holdon;
stem(nTs,xs+0.2,'k-.','fill');axis([-2,2,0,2.5]);holdon;
plot(t,xr+0.2,'r-.');axis([-2,2,0,2.5]);holdon;
title(['采样频率是信号频率的',num2str(ws/wm),'倍']);
legend('原始信号x(t)','时域抽样x[k]','重建信号xr(t)');
end
3.结果与分析:
依次输入采样频率ws与信号频率wm的比值1,1.5,2,4,得到以下结果:
由上图可见,当ws<2wm时,即采样频率小于2倍信号频率时,由抽样点重建信号出现了严重失真。
要从抽样信号中无失真地回复原信号采样频率必须满足奈奎斯特定理,即ws>=2wm。
总结篇
实践的操作永远是深刻掌握理论知识的关键,通过这几个信号与系统的matlab实验,我进一步理解了信号与系统分析中时域频域的变换关系。
对抽样定理也有了更深刻、更直观的认识。
当然这次试验也使我了解和熟悉了使用数学工具Matlab进行编写程序、仿真的方法。
另外也掌握了一些常用的Matlab函数如快速傅利叶算法(fft)和反傅利叶算法(ifft)单边阶跃信号heaviside(t)等。
此次试验课程中唯一的不足在于所配套的教程不够完善,甚至还是缺页的,而且教程的格式也不是常见的格式而是少采用的pcx格式,因为不想为了一个实验就去装庞大的Photoshop,在找能阅读pcx格式的软件时花费的不少精力,浪费时间。
建议给下一届的同学做实验时,教程方面最好完善一下,至少也不要是缺页的。
另外建议直接配套一个可用的pcx软件,也免去了大家装Photoshop或找pcx阅读器的麻烦。