《信号与系统》实验四

更新时间:2023-09-16 00:17:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

信息科学与工程学院 《信号与系统》 实验报告四

专业班级 电信 09- 班 姓 名 学 号 实验时间 2011 年 月 日 指导教师 陈华丽 成 绩

实验 名称 离散信号的频域分析 1. 掌握离散信号谱分析的方法:序列的傅里叶变换、离散傅里叶级数、离散傅里叶变换、快速傅里叶变换,进一步理解这些变换之间的关系; 实验 2. 掌握序列的傅里叶变换、离散傅里叶级数、离散傅里叶变换、快速傅里叶变换的Matlab实现; 目的 3. 熟悉FFT算法原理和FFT子程序的应用。 4. 学习用FFT对连续信号和离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。 1.对连续信号xa(t)?Ae??tsin(?0t)u(t)10.8想采样,可得采样序列xa(jf)(A?444.128,??502?,?0?502?)进行理0.60.40.200100200300f /Hz400500x(n)?xa(nT)?Ae??nTsin(?0nT)u(n)0?n?50。图1给出了xa(t)的幅频特性曲线,由此图可以确定对xa(t)采用的采样频率。分别取采样频率为 1KHz、300Hz和200Hz,画出所得采样序列x(n)的j?幅频特性X(e)。并观察是否存在频谱混叠。 图1 连续信号xa(t)?Ae??tsin(?0t)u(t) 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)的幅度曲线是否一致?为什么? 3. (1)编制信号产生子程序,产生以下典型信号供谱分析用。 ?n?1,0?n?3?x1(n)??8?n,4?n?7 ?0,其它n?x2(n)?cosx3(n)?sin?4n n ?8x4(t)?cos8?t?cos16?t?cos20?t 注:“实验记录及个人小结”部分可另附页或在背面续写 第 页

(2)对信号x1(n),x2(n),x3(n)进行两次谱分析,FFT的变换区间N分别取8和16,观察两 次的结果是否一致?为什么? (3)连续信号x4(n)的采样频率fs?64Hz,N?16,32,64。观察三次变换的结果是否一致?为什么? 实验记录及个人小结(包括:实验源程序、注释、结果分析与讨论等)

注:“实验记录及个人小结”部分可另附页或在背面续写 第 页

1.对连续信号xa(t)?Ae??tsin(?0t)u(t)(A?444.128,??502?,?0?502?)进行理想采样,可得采样序列x(n)?xa(nT)?Ae??nTsin(?0nT)u(n)0?n?50。图1给出了xa(t)的幅频特性曲线,由此图可以确定对xa(t)采用的采样频率。分别取采样频率为 1KHz、300Hz和200Hz,画出所得采样序列x(n)的幅频特

性X(ej?)。并观察是否存在频谱混叠。

源程序:

% 产生序列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?x1(n)??8?n,4?n?7

?0,其它n?x2(n)?cosx3(n)?sin?4n n

?8x4(t)?cos8?t?cos16?t?cos20?t

(2)对信号x1(n),x2(n),x3(n)进行两次谱分析,FFT的变换区间N分别取8和16,观察两次的结果是否一致?为什么?

(3)连续信号x4(n)的采样频率fs?64Hz,N?16,32,64。观察三次变换的结果是否一致?为什么?

源程序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)') %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)') %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)') % 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)') %X2(k)的幅度(16) subplot(2,3,3)

plot(w1/pi,abs(X3)) 注:“实验记录及个人小结”部分可另附页或在背面续写 第 页

hold on

stem(w1/pi,abs(X3),'r:') xlabel('w1/pi')

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子程序的应用。

以后要多参与类似的实验,信号与系统是一项需要把理论与实践结合其来的课程 在掌握了基本知识以后,通过做实验,我们可以更加深入理解我们学过的知识

注:“实验记录及个人小结”部分可另附页或在背面续写 第 页

本文来源:https://www.bwwdw.com/article/igth.html

Top