信号与系统实验.docx
- 文档编号:28201595
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:29
- 大小:1.03MB
信号与系统实验.docx
《信号与系统实验.docx》由会员分享,可在线阅读,更多相关《信号与系统实验.docx(29页珍藏版)》请在冰豆网上搜索。
信号与系统实验
实验三
通信1301
王少丹
201308030104
一.实验目的
1.掌握周期信号的频谱分析方法——傅里叶级数及其物理意义。
2.深入理解信号频谱的概念,掌握典型信号的频谱以及傅里叶变换的主要性质。
二.实验原理及方法
1.周期信号的三角形式的傅里叶变换
2.周期信号的指数形式的傅里叶变换
3.周期信号的频谱
4.非周期信号的频谱
5.傅里叶变换性质及其MATLAB实现
三.实验内容及步骤
1.
先定义傅里叶级数函数表达式
functiony=fourierseries(m,t)%定义傅里叶级数函数表达式%
y=1/4;
forn=1:
m
y=y+4/(n*n*pi*pi)*(1-cos(n*pi/2)).*cos(n*pi.*t);
end
end
代码如下:
t=-6:
0.01:
6;
d=-6:
2:
6;
fxx=pulstran(t,d,'tripuls');
f1=fourierseries(3,t);
f2=fourierseries(9,t);
f3=fourierseries(21,t);
f4=fourierseries(45,t);
subplot(4,1,1)
plot(t,fxx,'r',t,f1,'b');
gridon
axis([-66-0.11.1])
title('N=3')
subplot(4,1,2)
plot(t,fxx,'r',t,f2,'b');
gridon
axis([-66-0.11.1])
title('N=9')
subplot(4,1,3)
plot(t,fxx,'r',t,f3,'b');
gridon
axis([-66-0.11.1])
title('N=21')
subplot(4,1,4)
plot(t,fxx,'r',t,f4,'b');
gridon
axis([-66-0.11.1])
title('N=45')
其单边幅度谱与相位谱
代码如下:
a=zeros(size(n));
a
(1)=0.5;
forii=2:
10
a(ii)=abs(4/((ii-1)*(ii-1)*pi*pi)*(1-cos((ii-1)*pi/2)));
end
subplot(2,1,1)
n=0:
pi:
9*pi
stem(n,a,'fill','linewidth',2);
axis([0,30,-0,0.6])
gridon
title('单边幅度谱')
subplot(2,1,2)
n=1:
10;
a=zeros(size(n));
fori=1:
10
a(i)=angle(4/(i*i*pi*pi)*(1-cos(i*pi/2)))
end
n=0:
pi:
9*pi
stem(n,a,'fill','linewidth',2);
axis([0,9*pi,-0.2,0.2])
gridon
title('单边相位谱')
xlabel('\fontsize{14}\bf¦¸=n¦¸o\rightarrow')
ylabel('\fontsize{14}\bf¦·n\rightarrow')
2.
代码如下:
t=-6:
0.01:
6;
f=tripuls(t,1);
dw=0.1;
w=-12*pi:
0.1:
12*pi;
F=f*exp(-j*t'*w)*0.01;
F1=abs(F);
phaF=angle(F);
subplot(3,1,1)
plot(t,f)
axis([-6601])
boxon
xlabel('t')
ylabel('f(t)')
title('单个三角脉冲的波形图')
subplot(3,1,2)
plot(w,F1)
gridon;
xlabel('\Omega')
ylabel('·幅度')
title('单个三角脉冲的幅度图')
subplot(3,1,3)
plot(w,phaF)
gridon;
xlabel('\Omega')
ylabel('相位')
title('单个三角脉冲的相位谱')
3.
代码如下:
n=-20:
20;
F=zeros(size(n));
forii=-20:
20
F(ii+21)=sin(ii*pi/4)/(ii*pi+eps);
end
F(21)=1/4;
F1=abs(F);
phaF=angle(F);
subplot(2,1,1)
stem(n,F1,'fill')
title('周期矩形脉冲的幅度谱(¦Ó/T=1/4)')
xlabel('\fontsize{14}\bfn\rightarrow')
ylabel('\fontsize{14}\bf|Fn|\rightarrow')
subplot(2,1,2)
stem(n,phaF,'fill')
title('周期矩形脉冲的相位谱(¦Ó/T=1/4)')
xlabel('\fontsize{14}\bfn\rightarrow')
ylabel('\fontsize{14}\bf¦·n\rightarrow')
代码如下:
n=-20:
20;
F=zeros(size(n));
forii=-20:
20
F(ii+21)=sin(ii*pi/8)/(ii*pi+eps);
end
F(21)=1/8;
F1=abs(F);
phaF=angle(F);
subplot(2,1,1)
stem(n,F1,'fill')
title('周期矩形脉冲的幅度谱(¦Ó/T=1/8)')
xlabel('\fontsize{14}\bfn\rightarrow')
ylabel('\fontsize{14}\bf|Fn|\rightarrow')
subplot(2,1,2)
stem(n,phaF,'fill')
title('周期矩形脉冲的相位谱(¦Ó/T=1/8)')
xlabel('\fontsize{14}\bfn\rightarrow')
ylabel('\fontsize{14}\bf¦·n\rightarrow')
4.
代码如下
T=0.01;
t=-10:
0.01:
10;
dw=0.1;
w=-4*pi:
dw:
4*pi;
F1=rectpuls(t)*exp(-j*t'*w)*T;
F2=rectpuls(t-6)*exp(-j*t'*w)*T;
a1=abs(F1);
phaF1=angle(F1);
a2=abs(F2);
phaF2=angle(F2);
subplot(2,2,1)
plot(w,a1);
title('·ù¶ÈÆ×')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf|Fn|\rightarrow')
subplot(2,2,2)
plot(w,phaF1);
title('ÏàλÆ×')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf¦·n\rightarrow')
subplot(2,2,3)
plot(w,a2);
title('·ù¶ÈÆ×')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf|Fn|\rightarrow')
subplot(2,2,4)
plot(w,phaF2);
title('ÏàλÆ×')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf¦·n\rightarrow')
T=0.01;
t=-10:
0.01:
10;
dw=0.1;
w=-4*pi:
dw:
4*pi;
f1=heaviside(t).*sin(3*t);
F1=heaviside(t)*exp(-j*t'*w)*T;
F2=f1*exp(-j*t'*w)*T;
a1=abs(F1);
phaF1=angle(F1);
a2=abs(F2);
phaF2=angle(F2);
subplot(2,2,1)
plot(w,a1);
title('·ù¶ÈÆ×')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf|F1n|\rightarrow')
subplot(2,2,2)
plot(w,phaF1);
title('ÏàλÆ×')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf¦·1n\rightarrow')
subplot(2,2,3)
plot(w,a2);
title('·ù¶ÈÆ×')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf|F2n|\rightarrow')
subplot(2,2,4)
plot(w,phaF2);
title('ÏàλÆ×')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf¦·2n\rightarrow')
代码如下:
T=0.01;
t=-10:
0.01:
10;
dw=0.1;
w=-4*pi:
dw:
4*pi;
y=sinc(2*t/pi);
F1=y*exp(-j*t'*w)*T;
F2=(heaviside(-t/2)-heaviside(t/2))*exp(-j*t'*w)*T;
a1=abs(F1);
phaF1=angle(F1);
a2=abs(F2);
phaF2=angle(F2);
subplot(2,2,1)
plot(w,a1);
title('·幅度谱')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf|F1n|\rightarrow')
subplot(2,2,2)
plot(w,phaF1);
title('相位谱')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf¦·1n\rightarrow')
subplot(2,2,3)
plot(w,a2);
title('·幅度谱')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf|F2n|\rightarrow')
subplot(2,2,4)
plot(w,phaF2);
title('相位谱')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf¦·2n\rightarrow')
代码如下:
T=0.01;
t=-10:
0.01:
10;
dw=0.1;
w=-4*pi:
dw:
4*pi;
F1=rectpuls(t)*exp(-j*t'*w)*T;
F2=rectpuls(2*t)*exp(-j*t'*w)*T;
a1=abs(F1);
phaF1=angle(F1);
a2=abs(F2);
phaF2=angle(F2);
subplot(2,2,1)
plot(w,a1);
title('·幅度谱')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf|F1n|\rightarrow')
subplot(2,2,2)
plot(w,phaF1);
title('相位谱')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf¦·1n\rightarrow')
subplot(2,2,3)
plot(w,a2);
title('·幅度谱')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf|F2n|\rightarrow')
subplot(2,2,4)
plot(w,phaF2);
title('相位谱')
xlabel('\fontsize{14}\bfw\rightarrow')
ylabel('\fontsize{14}\bf¦·2n\rightarrow')
实验4离散信号的频域分析
一.实验目的
1.掌握离散信号谱分析的方法:
序列的傅里叶变换,离散傅里叶级数、离散傅里叶变换、快速傅里叶变换,进一步理解这些变换之间的关系。
2.掌握序列傅里叶变换、离散傅里叶级数、离散傅里叶变换、快速傅里叶变换的MATLAB实现。
3.熟悉FFT算法原理和FFT子程序的应用。
4.学会用FFT对连续信号和离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
二.实验原理及方法
1.离散非周期信号的谱分析
(1)序列的傅里叶变换
(2)离散傅里叶变换
(3)快速傅里叶变换
2.离散周期信号的谱分析
(1)离散傅里叶级数
(2)快速傅里叶变换
3.利用FFT对连续信号进行谱分析
4.利用FFT进行谱分析的误差分析
(1)频谱混叠失真
(2)栅栏效应
(3)频谱泄露与谱间干扰
三.实验内容及步骤
1.
先定义两个函数
functionx=ff(T)%定义函数文件
n=0:
50;A=444.128;
a=50*sqrt
(2)*pi;w0=50*sqrt
(2)*pi;
x=A*exp(-a*n*T).*sin(w0*n*T);
k=-250:
250;w=pi/125*k;
X=x*(exp(-j*pi/125)).^(n'*k);
plot(w/pi,X)
end
functiony=x(n)%定义函数文件
y=cos(0.48*pi*n)+cos(0.52*pi*n);
end
代码如下:
ff(1/300);
title('f=1000Hz')
2.
n=0:
10;
f1=x(n);
f2=(fft(f1));
stem(n,f2)
title('x(n)(n=0:
10)')
axis([0,10,-2,8])
f3=zeros(1,20);
forn=0:
10
a=2*n+1;
f3(a)=n;
end
f4=x(f3);
f5=fft(f4)
stem(f5)
代码如下:
n=0:
100;
f1=x(n);
f2=(fft(f1));
stem(n,f2)
3.
代码见下:
N=8;
n=0:
N-1;
x1=(n+1).*(heaviside(n-4)-heaviside(n))+(8-n).*(heaviside(n-8)-heaviside(n-4));
x2=cos(pi*n/4);
x3=sin(pi*n/8);
%x4=cos(8*pi.*t)+cos(16*pi.*t)+cos(20*pi.*t);
y1=fft(x1,N);subplot(2,2,1);
stem(n,abs(y1));
y2=fft(x2,N);subplot(2,2,2);
y2=fft(x2,N);subplot(2,2,2);
stem(n,abs(y2));
y3=fft(x3,N);subplot(2,2,3);
stem(n,abs(y3));
代码见下:
n=0:
15;f=64;
x4=cos(8*pi*n/f)+cos(16*pi*n/f)+cos(20*pi*n/f);
x4k16=fft(x4,16);
subplot(3,1,1)
stem(n,abs(x4k16))
title('x4FFT񄯯N=16')
axis([0,14,0,15])
n=0:
31;f=64;
x4=cos(8*pi*n/f)+cos(16*pi*n/f)+cos(20*pi*n/f);
x4k32=fft(x4,32);
subplot(3,1,2)
stem(n,abs(x4k32))
title('x4FFT񄯯N=32')
axis([0,31,0,20])
n=0:
63;f=64;
x4=cos(8*pi*n/f)+cos(16*pi*n/f)+cos(20*pi*n/f);
x4k64=fft(x4,64);
subplot(3,1,3)
stem(n,abs(x4k64))
title('x4FFT񄯯N=64')
axis([0,63,0,40])
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号 系统 实验