信号与系统课程设计报告书Word文档下载推荐.docx
《信号与系统课程设计报告书Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《信号与系统课程设计报告书Word文档下载推荐.docx(12页珍藏版)》请在冰点文库上搜索。
2.计算序列的FFT,观察频谱泄漏
已知周期为16的信号。
(1)截取一个周期长度M=16点,计算其16点FFT其频谱,并绘出其幅度谱;
(2)截取序列长度M=10点,计算其16点FFT其频谱,绘出其幅度谱,并与
(1)的结果进行比较,观察频谱泄漏现象,说明产生频谱泄漏的原因。
题目三、线性卷积和循环卷积的比较
设和是两个4点序列,,,要求用MATLAB实现:
(1)计算与的线性卷积;
(2)分别计算与的6、7、8点循环卷积。
思考:
(3)线性卷积与循环卷积的关系;
(4)什么条件下,线性卷积与循环卷积相等?
二.原理分析和理论计算
1.题目一的分析
工程实际中经常碰到连续时间信号,其频谱函数也是连续函数。
为了能能够在计算机上能够处理、分析连续信号的频谱,要在时域和频域都离散化。
首先要将要将无限长的时间信号截断成有限长并进行时域采样,且由时域采样定理知,要想由采样信号完全恢复原信号必须使采样频率不小于原信号最高频率的2倍,工程实际中常取3—5倍。
接下来就要对频域进行离散化,即对采样信号进行DFT变换。
理论推导得
xa(k)=T·
DFT[x(n)]
此式表明连续信号的频谱特性可以通过对连续信号采样并进行DFT,在乘以采样周期T的近似方法得到。
设
由于是周期信号,首先要确定该信号的周期,如果截取信号时没有至少一个完整周期的信号,则会发生泄漏现象。
∵
∴信号的周期为
因此,截取信号的持续时间最好为0.1s的整数倍。
信号的最高频率为,因此,采样频率或采样间隔需满足
,
取采样频率和采样间隔分别为:
DFT的点长N从持续时间中算得
令t=nT,n=0,1,2,…,199,代入原信号,得
利用FFT计算200点的DFT。
2.题目二的分析
2.1计算序列的DTFT和DFT,观察栅栏效应
(1)序列的傅里叶变换
(2)4点的DFT变换
具体是值如下:
(3)8点的DFT变换
具体的值如下:
对在[0,2π]上等间隔采样4点得
显然于序列的值对应相等,即是对在[0,2π]上从0开始的4点等间隔采样
对在[0,2π]上等间隔采样8点得
显然于序列的值对应相等,即是对在[0,2π]上从0开始的8点等间隔采样
2.2计算序列的DFT,观察频谱泄露
对信号进行FFT计算,首先必须使其变成时宽有限的信号,这就相当于在时域乘以一个窗函数如矩形窗,窗内数据并不改变,对频域的影响可用卷积公式表示
式中,是原信号想x(n)的频谱,是窗函数的频谱。
卷积的结果使加窗后得到的频谱与原来的频谱不同,产生了失真。
这种失真造成的频谱的“扩散”,这就是所谓的“频谱泄漏”。
3.题目三的分析
与的点循环卷积定义为:
循环卷积的实现步骤:
当时,分别将与相乘,并在到区间内求和,便得到与的循环卷积。
设x(n)是N1点的有限长序列(0≤n≤N1-1),h(n)是N2点的有限长序列(0≤n≤N2-1),x(n)和y(n)的线性卷积为
y1(n)是长度为N1+N2-1的有限长序列
设是两序列的L点的循环卷积,经过数学推导有下式
次式表明循环卷积真是周期严拓后的线性卷积取主值序列,循环的周期是循环卷积的点数。
所以要使循环卷积等于线性卷积而不产生混叠的充分条件为
L≥N1+N2-1
所以本题中7点和8点的循环卷积均等于线性卷积
三.详细设计
1.FFT对连续信号的谱分析
源程序如下:
functiont1%函数的定义格式
n=0:
199;
%采样点数为200点
x=0.25*sin(0.02*pi.*n)+0.5*sin(0.22*pi.*n)+sin(0.75*pi.*n);
%x是连续信号离散后的采样序列
X=fft(x,200);
%对x做200点的FFT
F=abs(X);
%取傅里叶变换的模
w=n*10;
%将横轴变为频率,因为采样点数[0,1,...,N-1]与[0,fs]对应
%频率w=n*10
stem(w,F);
%画出连续信号的幅度谱
xlabel('
w/HZ'
);
%将横坐标定位w
legend('
连续信号的谱分析'
)%为坐标图添加标题
设计思路:
对于满足绝对可和的序列,其傅里叶变换和反变换的定义为
序列x(n)是离散的,但序列是以2π为周期的w的连续函数,为了能够在计算机上处理,需要对x(n)进行截断,并对频域离散化,近似处理后有
其中,M是对w一个周期内的采样,k的取值自行确定,若想观察一个周期内的频谱,k=0到M-1;
若想观察2个周期k=0到2M-1,以此类推。
functiont2%定义函数名为t2的函数
x=[1111];
%实验序列
3;
M=input('
输入整数M='
%序列的傅里叶变换的频域仍然是连续的需要离散化
%M是对w一周期内的采样
k=0:
2*M-1;
%观察2个周期
w=2*pi/M*k;
%w代表频率,是频域的自变量
X=x*(exp(-j*2*pi/M)).^(n'
*k);
%序列的傅里叶变换
F1=abs(X);
%取傅里叶变换的模
F2=abs(fft(x,4));
%序列4点的FFT并取模
F3=abs(fft(x,8));
%序列8点的FFT并取模
subplot(311)
%以下是画图
plot(w,F1);
序列的傅里叶变换'
)
axis([02*pi06]);
%控制坐标的范围
subplot(312)
stem(n,F2);
序列的4点fft'
subplot(313)
7;
stem(n,F3);
序列的8点fft'
functiont2_2%定义函数t2_2
15;
x1=cos(10*pi.*n/16)+cos(12*pi.*n/16);
%原序列
X1=fft(x1);
%默认计算16点的FFT
subplot(311);
stem(n,abs(X1));
%画出16点FFT的幅度谱
16点的幅度谱'
subplot(312);
stem(n,angle(X1));
16点的相位谱'
)%画出16点FFT的相位谱
9;
X2=fft(x1,10);
%计算10点的FFT
subplot(313);
stem(n,abs(X2));
10点的幅度谱'
%画出10点FFT的幅度谱
3.线性卷积和循环卷积的比较
线性卷积直接通过调用函数conv实现,循环卷积通过DTFT的性质实现。
由时域循环卷积定理知,时域的循环讲讲价对应频域的乘积,即
若X1(k)=DFT[x1(n)]X2(k)=DFT[x2(n)]
且X3(k)=X1(k)X2(k)
则
具体步骤是:
1.对2个序列x1(n)、x2(n)进行补零至所做循环卷积的点数L
2.分别计算2个序列的L点的FFT得X1(k)、X2(K)
3.X3(k)=X1(k)X2(K)
4.计算x3(n)=IDFT(X3(k))
5.x3(n)就等于x1(n)和x2(n)的循环卷积
functiont3%定义函数t3
x1=[1221];
x2=[1-11-1];
6;
y=conv(x1,x2);
%计算线性卷积
subplot(221)
stem(n,y);
%画出线性卷积的图
线性卷积'
%计算6点循环卷积
x1(6)=0;
%将序列x1补零至6点
x2(6)=0;
%将序列x2补零至6点
5;
%计算序列x1的6点的FFT
X2=fft(x2);
%计算序列x2的7点的FFT
X3=X1.*X2;
%两序列的6点FFT相乘
x3=ifft(X3);
%快速傅里叶反变换
subplot(222)
stem(n,x3);
6点循环卷积'
%以下计算7点循环卷积,原理同上
x1(7)=0;
x2(7)=0;
subplot(223)
7点循环卷积'
%以下计算8点循环卷积,原理同上
x1(8)=0;
x2(8)=0;
subplot(224)
8点循环卷积'
四.调试分析过程描述
在看书真正弄懂理论之后,在加上实验四的基础,这次实验的调试比较顺利。
碰到一个问题是:
在调用stem画序列,默认的情况下标从1开始,而我们一般要求从0开始。
所以每次调用stem时要自己首先要设定一个从0开始的对应的坐标变量。
其他遇到的问题主要是MATLAB中的一些语法错误,在翻阅相关书籍之后很快解决。
各题正确的输出结果如下所示:
第一题连续信号的频谱如下图
第二题的输出结果如下
从上图直观看出序列4、8点的FFT是对序列DFT的采样,完全符合理论计算结果
对比16和10点的幅度谱发现,10点的有明显的频谱泄漏
第三题循环卷积和线性卷积的比较如下图
7、8点的循环卷积与线性卷积的值在相应处相等,6点的循环卷积是线性卷积6点周期严拓
五.总结
通过这次课程设计掌握了利用FFT对连续信号、离散信号进行谱分析的方法,掌握了利用FFT计算线性卷积的方法,加深了DTFT、DFT之间关系的理解,在实践中运用了采样定理,同时也观察了FFT进行谱分析时导致的误差,如栅栏效应、频谱泄露与谱间干扰。
此外,还复习了MATLAB的编程以及MATLAB中与信号有关的指令的函数。
在写此报告时,发现要将理解的理论真正组织成语言仍然是很有难度,在反复查看课本完成这一过程之后又加深了对这些知识的掌握。
总的来说,在弄懂理论之后,在加上实验四的基础,这次的课程设计完成起来十分顺利!