信号与系统课程设计

发布时间:2024-11-28

1.课程设计目的:

综合运用本课程的理论知识进行语音信号的频谱分析,通过理论推导得出相应结论,并利用MATLAB作为编程工具进行计算机实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。

2.课程设计内容及要求: 题目一 FFT对连续信号进行谱分析

若信号由20Hz,220 Hz和750Hz三个正弦频率成分构成,试用FFT计算其频谱并画出其幅度谱(要求横坐标以Hz为单位),验证信号包含的频率成分。

题目二 FFT对离散信号进行谱分析 1. 计算序列的DTFT和DFT,观察栅栏效应

设x(n) R4(n),要求用MATLAB实现:

(1)计算x(n)的傅里叶变换X(ej ),并绘出其幅度谱;

(2)分别计算x(n)的4点DFT和8点DFT,并绘出其幅度谱。并说明它们和

X(ej )的关系。

(提示:DFT变换可用MATLAB提供的函数fft实现) 2. 计算序列的FFT,观察频谱泄漏

10 12

n) cos(n)。 1616

(1) 截取一个周期长度M=16点,计算其16点FFT其频谱,并绘出其幅度

谱;

(2) 截取序列长度M=10点,计算其16点FFT其频谱,绘出其幅度谱,并

与(1)的结果进行比较,观察频谱泄漏现象,说明产生频谱泄漏的原因。

已知周期为16的信号x(n) cos(

题目三 线性卷积和循环卷积的比较

设x1(n)和x2(n)是两个4点序列,x1(n) {1,2,2,1},x2(n) {1, 1,1, 1},

要求用MATLAB实现:

(1) 计算x1(n)与x2(n)的线性卷积;

(2) 分别计算x1(n)与x2(n)的6、7、8点循环卷积。 思考:

(1) 线性卷积与循环卷积的关系;

(2) 什么条件下,线性卷积与循环卷积相等?

3.分析、源程序及运行结果

§题目一 :

【分析】设x(t) 0.25sin(2 20t) 0.5sin(2 220t) sin(2 750t) 由于x(t)是周期信号,首先要确定该信号的周期,如果截取信号时没有至少一个完整周期的信号,则会发生泄漏现象。

∵2 20:2 220:2 750 2:22:75

2

0.1s ∴信号x(t)的周期为2

2 20

因此,截取信号的持续时间最好为0.1s的整数倍。

信号x(t)的最高频率为Fh 750Hz,因此,采样频率或采样间隔需满足

fs 2Fh 1500Hz,T

1

0.667ms 2Fh

取采样频率和采样间隔分别为:fs 2000Hz,T 0.5ms DFT的点长N从持续时间中算得

N

tpT

0.1s

200 0.5ms

令t=nT, n=0,1,2,…,199,代入原信号,得

x(n) 0.25sin(2 20 n 0.5 0.001) 0.5sin(2 220 n 0.5 0.001)

 sin(2 750 n 0.5 0.001) 0.25sin(0.02 n) 0.5sin(0.22 n) sin(0.75 n)利用FFT计算200点的DFT。

【源程序代码】

n=0:200;

x=0.25*sin(0.02*pi.*n)+0.5*sin(0.22*pi.*n)+sin(0.75*pi.*n); F1=abs(fft(x));

F2=abs(fft(x,200)); %计算200点的DFT

stem(F1);axis([0 200 0 100]);xlabel('Hz') subplot(212)

Hz

Hz

x(n) R4(n)

§题目二:

【分析1】对于 ,可以写为x(n)=u(n)-u(n-4),其傅里叶变换为:

X(e) x(n)e

j

n 03

j n

nk

; 4点DFT为:DFT[x(n)] x(n)WN,0 k 3

n 03

nk

8点DFT为:DFT[x(n)] x(n)WN,0 k 7 ,在MATLAB中,DFT可以用

n 0

7

fft 函数来快速实现。 【源程序代码1】

n=-2:6;

M=input('M='); k=0:M-1; x=u(n)-u(n-4);

X=x*(exp(-j*2*pi/M)).^(n'*k);

F1=abs(X);F2=abs(fft(X,4));F3=abs(fft(X,8)); subplot(311)

plot(F1); title('x(n)的傅里叶变换') subplot(312)

stem(F2);title('x(n)的4点DFT')

stem(F3);title('x(n)的8点DFT')

x(n)的傅里叶变换

4

11002

2468

x(n)的4点DFT

10121416

1.522.5x(n)的8点DFT

33.54

2345678

由图可以得到x(n)的4点DFT就是对x(n)的傅里叶变换在 DFT就是对x(n)的傅里叶变换在

k2

时的采样,而x(n)的8点

k4

时的采样。

【分析

2】 序列x(n) cos(

10 12

n) cos(n)是周期为16的序列,对应的频谱为离散的, 1616

N 1n 0

nk

X(k) DFT[x(n)] x(n)WN,0 k N 1 ,在MATLAB中用fft

快速傅里叶变

换函数实现。 【源程序代码2】

n=-8:8;

M=input('M='); k=0:M-1;

x=cos(10*pi.*n/16)+cos(12*pi.*n/16); X=x*(exp(-j*2*pi/M)).^(n'*k); F=abs(X); stem(F)

由上面两图进行比较,第二幅发生了频谱泄露,分析其原因为截取了序列的有限长度(长度没有达到一个周期的长度)。

§题目三:

【分析】x1(n)与x2(n)的N点循环卷积定义y(n) [ x2(m)x1((n m))N]RN(n)

N 1

x1(m)x2(m)

x2((m))N

x2(( m))N

x2(( m))NRN(m)

x2((n m))NRN(m)

当n 0,1,2, ,N 1时,分别将x1(m)与x2((n m))NRN(m)相乘,并在m 0到

N 1区间内求和,便得到x1(n)与x2(n)的循环卷积y(n)。

【源程序代码1】

x1=[1 2 2 1]; x2=[1 -1 1 -1]; y=conv(x1,x2); subplot(131)

stem(x1);title('序列x1(n)') subplot(132)

stem(x2);title('序列x2(n)') subplot(133)

21.81.61.41.2

1

列积

1

0.80.60.40.2

0-0.2-0.4-0.6-0.8

0.80.60.40.2

0-0.2-0.4-0.6-0.8

-1

10.80.60.40.2

0-1

【源程序代码2】(方法一)

x1=[1 2 2 1]; x2=[1 -1 1 -1]; N=input('N=');

x1=[x1,zeros(1,N-length(x1))]; x2=[x2,zeros(1,N-length(x2))]; m=0:N-1; x=zeros(N,N); for n=0:N-1;

x(:,n+1)=x2(mod((n-m),N)+1)'; end Z=x1*x;

stem(Z);

【源程序代码2】(方法二)

x1=[1 2 2 1]; x2=[1 -1 1 -1]; N=input('N='); x11=fft(x1,N); x12=fft(x2,N); y11=x11.*x12;

N=6

N=7 N=8

比较循环卷积的三幅图与线性卷积的第三幅图,容易看出,当所取的循环卷积的长度不小于序列x1(n)与序列x2(n)的长度之和减一时,线性卷积的结果与循环卷积的结果相同。

4.课程设计小结

时间过得很快,短短的一个学期,我们就上完了信号与系统的上半册,主

要学了各种信号以及对信号的分析和处理方法,本次课程设计主要是讨论序列的分析,所用的方法就是傅里叶变换,而用傅里叶变换进行频谱分析是信号分析的核心。

本次信号与系统课程设计是在学完整个学期的课程之后而进行的,因此既是对所学知识的巩固,也是对知识的灵活运用,更是对知识的一种创新。在设计的过程中,我做到了完全的独立思考,虽然遇到过一些小问题,但经过自己不断钻研,终于战胜了一个个困难。不过,再仔细还是不可避免的会出现一些错误,恳请老师批评指正。课程设计的内容较简单,在所学知识的基础下,完全可以理解并做出来,我觉得当我们认认真真地完成了实验之后,总是会有很多收获的。

经过本学期的课程学习以及课程设计,我对信号与系统这门课已有了较深的认识,已逐渐在脑海中形成了一个体系,相信对接下来信号与系统下半部分的学习将会有很大的帮助。

7

信号与系统课程设计.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219