信号处理实验四离散傅里叶变换.docx

上传人:b****5 文档编号:6694318 上传时间:2023-01-09 格式:DOCX 页数:9 大小:90.82KB
下载 相关 举报
信号处理实验四离散傅里叶变换.docx_第1页
第1页 / 共9页
信号处理实验四离散傅里叶变换.docx_第2页
第2页 / 共9页
信号处理实验四离散傅里叶变换.docx_第3页
第3页 / 共9页
信号处理实验四离散傅里叶变换.docx_第4页
第4页 / 共9页
信号处理实验四离散傅里叶变换.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

信号处理实验四离散傅里叶变换.docx

《信号处理实验四离散傅里叶变换.docx》由会员分享,可在线阅读,更多相关《信号处理实验四离散傅里叶变换.docx(9页珍藏版)》请在冰豆网上搜索。

信号处理实验四离散傅里叶变换.docx

信号处理实验四离散傅里叶变换

信号处理实验四离散傅里叶变换

哈尔滨工程大学

实验报告

 

实验名称:

实验四:

离散傅里叶变换

班级:

电子信息工程4班

学号:

姓名:

实验时间:

2016年10月19日

成绩:

________________________________

指导教师:

栾晓明

 

实验室名称:

数字信号处理实验室

哈尔滨工程大学实验室与资产管理处制

实验四离散傅里叶变换

一、实验原理

1.由DFT定义式:

k=0,1,…,N-1,将其写成矩阵方程表示为

利用MATLAB的矩阵运算功能,可编写出计算DFT的函数文件。

function[Xk]=dft(xn,N)

%计算离散傅里叶变换

%Xk=在0<=k<=N-1间的DFT系数数组

%xn=N点有限长序列

%N=DFT的长度

n=[0:

1:

N-1];

%n的行向量

k=[0:

1:

N-1];

%k的行向量

WN=exp(-j*2*pi/N);

%Wn因子

nk=n'*k;

%产生一个含bk值的N乘N维矩阵

WNnk=WN.^nk;

%DFT矩阵

Xk=xn*WNnk;

%DFT系数的行向量

由IDFT定义式:

,n=0,1,2,…,N-1,利用MATLAB的矩阵运算功能,可编写出计算傅里叶反变换的函数文件。

function[xn]=idft(Xk,N)

%计算离散傅里叶反变换

%-----------------

%xn=在0<=n<=N-1

%Xk=N点有限长序列

%N=IDFT的长度

k=[0:

1:

N-1];

%k的行向量

n=[0:

1:

N-1];

%n的行向量

WN=exp(-j*2*pi/N);

%Wn因子

nk=n'*k;

%产生一个含bk值的N乘N维矩阵

WNnk=WN.^nk;

%DFT矩阵

xn=Xk*WNnk;

%傅里叶反变换计算序列值

DFT的快速算法FFT利用了

的三个固有特性:

(1)对称性,

(2)周期性,

,(3)可约性,

FFT算法基本上可以分为两大类,即按时间抽选法(DIT,Decimation-In-Time)和按频率抽选法(DIF,Decimation-In-Frequency)。

MATLAB中提供了进行快速傅里叶变换的fft函数:

X=fft(x),基2时间抽取FFT算法,x是表示离散信号的向量;X是系数向量;

X=fft(x,N),补零或截断的N点DFT,当x的长度小于N时,对x补零使其长度为N,当x的长度大于N时,对x截断使其长度为N。

Ifft函数计算IDFT,其调用格式与fft函数相同,参考help文件。

2.利用DFT做连续信号的频谱分析

DFT(实际中用FFT计算)可用来对连续信号和数字信号进行谱分析。

在实际分析过程中,要对连续信号采样和截断,由此可能引起分析误差。

(1)混叠效应

对连续信号进行频谱分析时,首先要对其采样,变成时域离散信号后才能用DFT(FFT)进行谱分析。

采样速率fs必须满足采样定理,否则会在w=π(对应模拟频率f=fs/2)附近发生频谱混叠现象。

(2)截断效应

处理实际信号序列x(n)时,一般总要将它截断为一有限长序列,长为N点,相当于乘以一个矩形窗形成有限长序列y(n)=x(n)w(n)。

矩形窗函数其频谱有主瓣,也许许多副瓣,窗口越大,主瓣越窄,当窗口趋于无穷大时,就是一个冲击函数。

时域的乘积对应于频域的卷积,所以,加窗后的频域实际是原信号频谱与矩形窗函数频谱的卷积,卷积的结果使频谱延伸到了主瓣以外,且一直延时到无穷。

当窗口无穷大时,与冲击函数的卷积才是其本身,这是无需畸变。

由此可见,阶段后频谱Y(ejw)与原序列频谱X(ejw)必然有差别,这种差别表现在:

a.频谱泄露。

原来序列x(n)的频谱是离散谱线,经截断后,原来离散谱线向附近展宽,成为泄露。

显然,泄露使频谱变模糊,使谱分辨率降低。

b.谱间干扰。

主谱线两边又很多旁谱,引起不同频率分量间干扰,这使谱分析产生较大偏差。

程度与窗函数幅度谱主瓣宽度直接相关。

(3)栅栏效应

N点DFT是频率区间[0,2π]上对时域离散信号的频谱进行N点等间隔采样,而采样点之间的频谱函数是看不见的。

这就好像从N个栅栏缝隙中观看信号的频谱情况,仅得到N个缝隙中看到的函数值。

由于栅栏效应,有可能漏掉大的频谱分量。

例3.1对连续的单一频率周期信号按采样频率

采样,截取长度N分别选N=20和N=16,观察其DFT结果的幅度谱。

解:

此时离散序列

,用MATLAB计算并作图,函数fft()用于计算离散傅里叶变换DFT,程序如下:

k=8;

n1=[0:

19];

%序列点数20

xa1=sin(2*pi*n1/k);

subplot(221)

stem(n1,xa1)

xlabel('t/T');ylabel('x(n)');

%图一:

序列图像

xk1=fft(xa1);

%调用fft函数

xk1=abs(xk1);

%取xk1绝对值

subplot(222)

stem(n1,xk1)

xlabel('k');ylabel('X(k)');

图二:

序列DFT图像

n2=[0:

1:

15];

%序列点数16

xa2=sin(2*pi*n2/k);

subplot(223)

stem(n2,xa2)

xlabel('t/T');ylabel('x(n)');

xk2=fft(xa2);

xk2=abs(xk2);

subplot(224)

stem(n2,xk2)

xlabel('k');ylabel('X(k)');

二、实验内容

1.已知连续周期信号

(1)确定信号的基频

和基本周期.

(2)当信号长度取0.5Tp,1.5Tp,2Tp,时,对x(t)采样,利用FFT计算其幅度谱;对所得结果进行比较,总结应如何选取分析长度。

解:

(1)基频

=2

,基本周期T=1s

(2)采样频率

采样,0.5Tp

程序:

f=10;

%设置fs=10fa

n=[0:

4];

%设置分析长度为0.5Tp

xa=cos(10*pi*n/f)+2*sin(18*pi*n/f);

%设置采样函数

subplot(211)

stem(n,xa)

xlabel('t/T');ylabel('x(n)');

%图一:

采样的结果

title('采样结果')

xk=fft(xa);

%进行FFT变换

xk=abs(xk);

%取X(k)的绝对值

subplot(212)

stem(n,xk)

xlabel('k');ylabel('X(k)');

%绘制出DFT结果

title('幅度谱')

采样频率

采样,1.5Tp时

将上述程序中n=[0,4]改为n=[0,14]即可

 

采样频率

采样,2Tp时

将上述程序中n=[0,4]改为n=[0,19]即可

 

结果分析:

有三图比较可知,当长度为2Tp时,采样信号频谱不发生泄露,故应取2Tp

2.对模拟信号

以采样间隔T=0.01s采样,分别取N=40,N=50,N=60得到x(n),用N点DFT得到

幅度谱的估计并比较结果

解:

T=0.01s,N=40时

程序:

T=0.01;

%采样间隔

N=40;

%采样点数

n=[0:

N-1];

xa=2*sin(4*pi*n*T)+5*cos(8*pi*n*T);

%对信号进行采样

xk=fft(xa);

%进行FFT变换

xk=abs(xk);

%取X(k)的绝对值

stem(n,xk)

 

N=50时,将程序中N=40改为N=50即可

 

N=60时,将程序中N=40改为N=60即可

 

结果分析:

比较三图可以看出,由于采样点数不同的栅栏效应,采样点越多栅栏效应对频谱分量的影响越小,谱分析误差越小。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1