《信号与系统》实验四.docx
- 文档编号:9371714
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:14
- 大小:17.46KB
《信号与系统》实验四.docx
《《信号与系统》实验四.docx》由会员分享,可在线阅读,更多相关《《信号与系统》实验四.docx(14页珍藏版)》请在冰豆网上搜索。
《信号与系统》实验四
信息科学与工程学院 《信号与系统》 实验报告四
专业班级电信 09-班姓名学 号
实验时间 2011 年月日指导教师陈华丽成 绩
实验
1. 掌握离散信号谱分析的方法:
序列的傅里叶变换、离散傅里叶级数、离散傅里叶变换、快速傅里
叶变换,进一步理解这些变换之间的关系;
实验2. 掌握序列的傅里叶变换、离散傅里叶级数、离散傅里叶变换、快速傅里叶变换的 Matlab 实现;
目的3. 熟悉 FFT 算法原理和 FFT 子程序的应用。
4. 学习用 FFT 对连续信号和离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便
在实际中正确应用 FFT。
1. 对 连 续 信 号x (t) = Ae -α sin(Ω t)u(t)1
a0
0.8
00.6
(
x(n) = x (nT ) = Ae -αnT sin(Ω nT )u(n)0 ≤ n ≤ 50 。
a0
图 1 给出了 x (t) 的幅频特性曲线,由此图可以确
a
定对 x (t) 采用的采样频率。
分别取采样频率为
a
1KHz、300Hz 和 200Hz,画出所得采样序列 x(n) 的
0.2
0
0 100 200 300
f /Hz
400 500
幅频特性 X (e jω) 。
并观察是否存在频谱混叠。
图 1 连续信号 x (t) = Ae -α sin(Ω t)u(t)
a0
2. 设 x(n) = cos(0.48πn) + cos(0.52πn)
(1)取 x(n) ( 0 ≤ n ≤ 10 )时,求 x(n) 的 FFT 变换 X (k ) ,并绘出其幅度曲线。
实验
(3)取 x(n) ( 0 ≤ n ≤ 100 ),求 X (k ) 并绘出其幅度曲线。
(4)观察上述三种情况下, x(n) 的幅度曲线是否一致?
为什么?
3.
(1)编制信号产生子程序,产生以下典型信号供谱分析用。
⎧ n + 1, 0 ≤ n ≤ 3
⎪
1
⎩
x (n) = cos
2
π
x (n) = sin
3
π
8
n
x (t ) = cos8π t + cos16π t + cos 20π t
4
(2)对信号 x (n) , x (n) , x (n) 进行两次谱分析,FFT 的变换区间 N 分别取 8 和 16,观察两
123
次的结果是否一致?
为什么?
(3)连续信号 x (n) 的采样频率 f = 64 Hz , N = 16,32,64 。
观察三次变换的结果是否一致?
为什
4s
么?
实验
记录
及个
人小
结
(包
括:
实验
源程
序、
注
释、
结果
分析
与讨
论
等)
a00
样序列 x(n) = x (nT ) = Ae -αnT sin(Ω nT )u(n)0 ≤ n ≤ 50 。
图 1 给出了 x (t) 的幅频特性曲线,由此图可以确
a0a
定对 x (t) 采用的采样频率。
分别取采样频率为 1KHz、300Hz 和 200Hz,画出所得采样序列 x(n) 的幅频特
a
性 X (e jω) 。
并观察是否存在频谱混叠。
源程序:
% 产生序列 x(n)
n=0:
50;
A=444.128;
a=50*sqrt(2.0)*pi;
T=1/1000;% T 分别取 1/1000、1/300、1/200
w0=50*sqrt(2.0)*pi;
x=A*exp(-a*n*T).*sin(w0*n*T); %函数 f 的表达式
subplot(1,2,1),stem(n,x)
title('理想采样序列fs=1000Hz')
% 绘制 x(n)的幅度谱
k=-250:
250;
W=pi/125*k;
X=x*(exp(-j*pi/125)).^(n'*k);% 由公式计算 DTFT
magX=abs(X);
subplot(1,2,2),plot(W,magX)
title('理想采样序列的幅度谱')
结果图
fs=300HZ
fs=200HZ
2. 设 x(n) = cos(0.48πn) + cos(0.52πn)
(1)取 x(n) ( 0 ≤ n ≤ 10 )时,求 x(n) 的 FFT 变换 X (k ) ,并绘出其幅度曲线。
(2)将
(1)中的 x(n) 以补零方式加长到 0 ≤ n ≤ 20 ,求 X (k ) 并绘出其幅度曲线。
(3)取 x(n) ( 0 ≤ n ≤ 100 ),求 X (k ) 并绘出其幅度曲线。
(4)观察上述三种情况下, x(n) 的幅度曲线是否一致?
为什么?
源程序 1:
n=0:
10;
M=length(n);
x1=cos(0.48*pi*n)+cos(0.52*pi*n);
subplot(2,2,1)
stem(n,x1)
xlabel('n')
title('x(n) 0<=n<=10')
k=0:
250;
N=length(k);
w=2*pi/N*k;
WN=exp(-j*2*pi/N);
kn=n'*k;
WNkn=WN.^kn;
X=x1*WNkn;
subplot(2,2,2)
plot(w/pi,abs(X))
xlabel('w/pi')
title('x(n)傅里叶变换的近似幅度')
k=0:
10;
N=length(k);
X1=fft(x1,N);
w=2*pi/N*k;
subplot(2,2,3)
plot(w/pi,abs(X1))
hold on
stem(w/pi,abs(X1),'r:
')
xlabel('w/pi')
title('X(k)的幅度(变换区间长度 N=11)')
k=0:
20;
N=length(k);
X2=fft(x1,N);
w=2*pi/N*k;
subplot(2,2,4)
plot(w/pi,abs(X2))
hold on
stem(w/pi,abs(X2),'r:
')
xlabel('w/pi')
title('X(k)的幅度(变换区间长度 N=21)')
结果图:
源程序:
2
n=0:
100;
M=length(n);
x3=cos(0.48*pi*n)+cos(0.52*pi*n);
subplot(2,1,1)
stem(n,x3)
xlabel('n')
title('x(n) 0<=n<=100')
k=0:
100;
N=length(k);
X3=fft(x3,N);
w=2*pi/N*k;
subplot(2,1,2)
plot(w/pi,abs(X3))
xlabel('w/pi')
title('X(k)的幅度')
结果图:
可见,通过加长序列的有效数据,可以很清晰地看出信号的频谱成分( 0.48π 和 0.52π ),所以物理分辨
率提高了。
3.
(1)编制信号产生子程序,产生以下典型信号供谱分析用。
⎧ n + 1, 0 ≤ n ≤ 3
⎪
1
⎩
x (n) = cos
2
π
x (n) = sin
3
π
8
n
x (t ) = cos8π t + cos16π t + cos 20π t
4
(2)对信号 x (n) , x (n) , x (n) 进行两次谱分析,FFT 的变换区间 N 分别取 8 和 16,观察两次的
123
结果是否一致?
为什么?
(3)连续信号 x (n) 的采样频率 f = 64 Hz , N = 16,32,64 。
观察三次变换的结果是否一致?
为什
4s
么?
源程序 1:
function y=x1(n)
n=0:
3;
y(n+1)=n+1;
n=4:
7;
y(n+1)=8-n;
n=0:
7;
x2=cos(pi.*n/4);
x3=sin(pi.*n/8);
k1=0:
7;
N=length(k1);
X1=fft(x1,N);
X2=fft(x2,N);
X3=fft(x3,N);
w1=2*pi/N*k1;
k2=0:
15;
N=length(k2);
X11=fft(x1,N);
X22=fft(x2,N);
X33=fft(x3,N);
w2=2*pi/N*k2;
subplot(2,3,1)
plot(w1/pi,abs(X1))
hold on
stem(w1/pi,abs(X1),'r:
')
xlabel('w1/pi')
title('X1(k)的幅度(N=8)')
subplot(2,3,4)
plot(w2/pi,abs(X11))
hold on
stem(w2/pi,abs(X11),'r:
')
xlabel('w2/pi')
title('X1(k)的幅度(N=16)')
subplot(2,3,2)
plot(w1/pi,abs(X2))
hold on
stem(w1/pi,abs(X2),'r:
')
xlabel('w2/pi')
title('X2(k)的幅度(N=8)')
subplot(2,3,5)
plot(w2/pi,abs(X22))
hold on
stem(w2/pi,abs(X22),'r:
')
xlabel('w1/pi')
title('X2(k)的幅度(16)')
subplot(2,3,3)
plot(w1/pi,abs(X3))
hold on
stem(w1/pi,abs(X3),'r:
')
xlabel('w1/pi')
%X1(k)的幅度(N=8)
%X1(k)的幅度(N=16)
% X2(k)的幅度(N=8)
%X2(k)的幅度(16)
title('X3(k)的幅度(N=8)')%X3(k)的幅度(N=8)
subplot(2,3,6)
plot(w2/pi,abs(X33))
hold on
stem(w2/pi,abs(X33),'r:
')
xlabel('w2/pi')
title('X3(k)的幅度(N=16)')%X3(k)的幅度(N=16)
源程序 2:
clc;clf;clear;
n=0:
20;
T=1/64;
x4=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);
subplot(2,2,1),stem(n,x4)
title('理想采样序列fs=64Hz')
k1=0:
15;
N=length(k1);
X4=fft(x4,N);
w1=2*pi/N*k1;
subplot(2,2,2)
plot(w1/pi,abs(X4))
hold on
stem(w1/pi,abs(X4),'r:
')
xlabel('w4/pi')
title('X4(k)的幅度谱(N=16)')
k2=0:
31;
N=length(k2);
X4=fft(x4,N);
w2=2*pi/N*k2;
subplot(2,2,3)
plot(w2/pi,abs(X4))
hold on
stem(w2/pi,abs(X4),'r:
')
xlabel('w4/pi')
title('X4(k)的幅度谱(N=32)')
k3=0:
63;
N=length(k3);
X4=fft(x4,N);
w3=2*pi/N*k3;
subplot(2,2,4)
plot(w3/pi,abs(X4))
hold on
stem(w3/pi,abs(X4),'r:
')
xlabel('w3/pi')
title('X4(k)的幅度谱(N=64)')
结果图:
实验小结:
通过本次实验
1.掌握离散信号谱分析的方法:
序列的傅里叶变换、离散傅里叶变换、快速傅里叶变换
2. 掌握序列的傅里叶变换、快速傅里叶变换的 Matlab 实现;
3. 熟悉 FFT 算法原理和 FFT 子程序的应用。
以后要多参与类似的实验,信号与系统是一项需要把理论与实践结合其来的课程
在掌握了基本知识以后,通过做实验,我们可以更加深入理解我们学过的知识
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号与系统 信号 系统 实验