实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx

上传人:b****4 文档编号:4378926 上传时间:2023-05-07 格式:DOCX 页数:29 大小:916.50KB
下载 相关 举报
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第1页
第1页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第2页
第2页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第3页
第3页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第4页
第4页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第5页
第5页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第6页
第6页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第7页
第7页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第8页
第8页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第9页
第9页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第10页
第10页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第11页
第11页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第12页
第12页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第13页
第13页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第14页
第14页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第15页
第15页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第16页
第16页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第17页
第17页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第18页
第18页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第19页
第19页 / 共29页
实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx

《实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx》由会员分享,可在线阅读,更多相关《实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx(29页珍藏版)》请在冰点文库上搜索。

实验一秋数字信号处理实验报告离散傅里叶变换的性质.docx

实验一秋数字信号处理实验报告离散傅里叶变换的性质

数字信号处理

实验报告

 

实验名称:

离散傅里叶变换的性质

实验日期:

2011.11.23

姓名:

学号:

 

一、实验目的

验证离散傅里叶变换的性质,包括线性特性、时移特性、频移特性、对称性和循环卷积等性质。

二、实验原理

1.线性特性

2.时移特性

3.频移特性

4.对称性

设由x(n)开拓成的周期序列为

偶序列

奇序列

截取主周期,分别得

x(n)序列的实部和虚部的离散立叶变换

5.循环卷积

有限长序列线性卷积与循环卷积的关系

X1(n)和x2(n)的线性卷积:

将X1(n)和x2(n)开拓成以N为周期的周期序列

则它们的周期卷积为

X1(n)和x2(n)周期开拓后的周期卷积等于他们的线性卷积的的周期开拓。

三、实验内容和步骤

详细描述为完成实验内容所需的实验步骤,对程序中关键代码进行说明,该部分不是实验结果的简单堆砌,还应该包括对实验结果的分析和从实验中获得的基本认识。

任取长度为N=8的随机实序列x1[n],x2[n],例如x1[n]=[13536839],x2[n]=[24367902],和长度为N=8的随机复序列x3[n],x4[n],例如x3[n]=[1+2j3+4j5+3j3+4j6+j8+2j3+3j9+2j],x4[n]=[4+1j6+4j4+3j3+4j7+j8+3j3+4j1+2j],采用MATLAB编程验证傅里叶变换的如下性质

1.线性特性

a.给出序列x1[n]的傅里叶变换X1[k],并画出其幅度谱和相位谱

程序:

x1=[13536839];

fft_x1=fft(x1,8);

x_axis=[0:

1:

7];

stem(x_axs,x1,'.');

xlabel('n');title('时间序列');%%%%x1的时间序列%%%%

stem(x_axis,abs(fft_x1));gridon;

xlabel('频率k');ylabel('幅度');

title('幅度谱');%%%%x1幅度谱%%%%

stem(x_axis,angle(fft_x1));gridon;

xlabel('频率k');ylabel('相位');

title('相位谱');%%%%x1的相位谱%%%%

 

图形:

图一

b.给出序列x2[n]的傅里叶变换X2[k],并画出其幅度谱和相位谱

程序:

x2=[24367902];

fft_x2=fft(x2,8);

x_axis=[0:

1:

7];

stem(x_axs,x2,'.');

xlabel('n');title('时间序列');%%%%x2的时间序列%%%%

stem(x_axis,abs(fft_x2));gridon;

xlabel('频率k');ylabel('幅度');

title('幅度谱');%%%%x2幅度谱%%%%

stem(x_axis,angle(fft_x2));gridon;

xlabel('频率k');ylabel('相位');

title('相位谱');%%%%x2的相位谱%%%%

图形:

图二

c.给出序列Z=2*X1[k]+6*x2[k],并与序列2*x3[n]+6*x4[n]的傅里叶变换比较,

程序:

J=sqrt(-1);

x3=[1+2*J3+4*J5+3*J3+4*J6+1*J8+2*J3+3*J9+2*J];

x4=[4+1*J6+4*J4+3*J3+4*J7+1*J8+3*J3+4*J1+2*J];

x_sum=2*x3+6*x4;

fft_x_sum=fft(x_sum,8);%序列之和的FFT

fft_x3=fft(x3,8);

fft_x4=fft(x4,8);

stem(x_axis,abs(fft_x_sum));

title('序列之和的幅度谱');

stem(x_axis,angle(fft_x_sum));

title('序列之和的相位谱');

fft_sum=2*fft_x3+6*fft_x4;%序列FFT的和

stem(x_axis,abs(fft_sum),'k*');

title('序列DFT之和的幅度谱');

stem(x_axis,angle(fft_sum),'k*');

title('序列DFT之和的相位谱');

stem(x_axis,abs(fft_x_sum));holdon;

stem(x_axis,abs(fft_sum),'k.');

xlabel('频率k');ylabel('幅度');

title('幅度谱');

stem(x_axis,angle(fft_x_sum));holdon;

stem(x_axis,angle(fft_sum),'k.');

xlabel('频率k');ylabel('相位(弧度)');

title('相位谱');

图形:

序列之和的相位谱,幅度谱,以及序列DFT的幅度谱和相位谱。

 

图三

序列之和与序列对比图形曲线拟合

图四

说明:

*代表序列DFT的相位谱和幅度谱○表示序列之和的相位谱和幅度谱。

通过图四序列之和与序列DFT相位谱和幅度谱的对比可知序列Z=2*X1[k]+6*x2[k],与序列2*x3[n]+6*x4[n]的傅里叶变换相同,所以满足线性关系。

 

2.时移特性

a.给出序列x1[n]右移3位后的傅里叶变换的幅度谱和相位谱,并和原始序列的幅度谱和相位谱相比较

程序:

x1=[13536839];

x2=circshift(x1,[03]);%%%%右移三位%%%%

fft_x1=fft(x1,8);

fft_x2=fft(x2,8);

x_axis=[0:

1:

7];

figure(3);%%%原时间序列与循环移位时间序列见图五%%%

subplot(211);

stem(x_axis,x1,'.');

xlabel('n');title('原时间序列');

subplot(212);

stem(x_axis,x2,'.');

xlabel('n');title('移位后时间序列');

figure

(1);%%%循环移位后序列幅度谱与时间谱见图六%%%

subplot(211);

stem(x_axis,abs(fft_x2));gridon;

xlabel('频率k');ylabel('幅度');

title('X2幅度谱');

subplot(212);

stem(x_axis,angle(fft_x2));gridon;

xlabel('频率k');ylabel('相位');

title('X2相位谱');

figure

(2);%%%循环移位序列和原始序列的幅度谱和相位谱相比较

subplot(211);

stem(x_axis,abs(fft_x1),'k*');gridon;holdon;

stem(x_axis,abs(fft_x2));gridon;

xlabel('频率k');ylabel('幅度');

title('X1andX2幅度谱对比');

subplot(212);

stem(x_axis,angle(fft_x1),'k*');gridon;holdon;

stem(x_axis,angle(fft_x2));gridon;

xlabel('频率k');ylabel('相位');

title('X1andX2相位谱对比');

图五

图六

图七

说明:

*代表原序列○代表循环移位后序列

结论:

通过图七对比可知原序列和循环移位后序列幅度谱相同,但相位谱不同。

3.频移特性

程序:

x1=[13536839];

num=[2-3];%%%%%%右移两位,左移三位%%%%%%%%%%%%%

fork=1:

2

ford=1:

8

x2(d)=x1(d).*exp(j.*2.*pi.*num(k).*d./8);

end

x_axis=[0:

1:

7];

fft_x1=fft(x1,8);

fft_x2=fft(x2,8);

figure

subplot(221);

stem(x_axis,abs(fft_x1));gridon;

xlabel('频率khz');ylabel('幅度');

title('原序列幅度谱');

subplot(222);

stem(x_axis,angle(fft_x1));gridon;

xlabel('原序列频率khz');ylabel('相位');

title('原序列相位谱');

subplot(223);

stem(x_axis,abs(fft_x2));gridon;

xlabel('频率khz');ylabel('幅度');

title('移位后幅度谱');

subplot(224);

stem(x_axis,angle(fft_x2));gridon;

xlabel('频率khz');ylabel('相位');

title('移位后相位谱');

end

说明:

x1原序列x2移位后序列

图形:

图八.右移二位序列

图九.左移三位序列

4.对称性

利用x1[n]构造奇对称序列和偶对称序列,讨论如下问题

(a)画出奇对称序列的傅里叶变换的实部和虚部

程序:

x1=[13536839];

N=length(x1);

x2

(1)=x1

(1);

fori=2:

N

x2(i)=x1(N+2-i);

end

x1_e=(x1+x2)/2;%%%%构造奇偶序列

x1_o=(x1-x2)/2;

fft_x1_e=fft(x1_e);

fft_x1_o=fft(x1_o);

n_axis=[0:

1:

7];

%%%奇对称序列的傅里叶变换的实部和虚部%%%%

figure

(1);

subplot(2,1,1);

stem(n_axis,real(fft_x1_o));gridon;

title('奇对称序列实部');

subplot(2,1,2);

stem(n_axis,imag(fft_x1_o));gridon;

title('奇对称序列虚部');

图十

(b)画出该偶对称序列的傅里叶变换的实部和虚部

程序:

%%%%%%偶对称序列的傅里叶变换的实部和虚部%%%%%%%%%%%%%

figure

(2);

subplot(2,1,1);

stem(n_axis,real(fft_x1_e));gridon

title('偶对称序列实部');

subplot(2,1,2);

stem(n_axis,imag(fft_x1_e));gridon;

title('偶对称序列虚部');

图十一

结论:

有上图可知,一个偶对称序列的DFT为实数,奇对称序列的DFT为虚数,

同样对于一个共轭对称的复数序列的DFT为实数,共轭反对称的复数序列的DFT为虚数。

 

(2)当x(n)为复序列时,推导傅里叶变换公式,利用x3[n]构造奇对称序列和偶对称序列,讨论如下问题

(c)画出共轭对称序列的傅里叶变换的实部和虚部

(d)画出共轭反对称序列的傅里叶变换的实部和虚部

程序:

x1=[1+2j3+4j5+3j3+4j6+j8+2j3+3j9+2j];

N=length(x1);

x2

(1)=x1

(1);

fori=2:

N

x2(i)=x1(N+2-i);

end

xe=(x1+conj(x2))/2;

xo=(x1-conj(x2))/2;

n=0:

N-1;

Xo=fft(xo);

Ro=real(Xo);

Io=imag(Xo);

figure

(1),

subplot(2,2,1),stem(n,Ro,'r*');title('共轭反对称序列的频谱实部');

subplot(2,2,2),stem(n,Io,'r*');title('共轭反对称序列的频谱虚部');

Xe=fft(xe);

Re=real(Xe);

Ie=imag(Xe);

subplot(2,2,3),stem(n,Re,'r*');title('共轭对称序列的频谱实部');

subplot(2,2,4),stem(n,Ie,'r*');title('共轭对称序列的频谱虚部');

图十二

 

(e)总结奇对称和偶对称的实数序列和复数序列的傅里叶变换性质

偶对称序列的傅里叶变换频谱实部偶对称,虚部为零;幅度谱偶对称,相位谱也为偶对称。

共轭对称序列的频谱虚部为零,相位谱为偶对称;共轭反对称序列的实部为零。

奇对称序列的傅里叶变换频谱实部为零,虚部奇对称;幅度谱偶对称,相位谱奇对称。

5.循环卷积

1)计算序列x1[n]和x2[n]的循环卷积y[n],计算x1[n]和x2[n]的傅里叶变换X1[k]和

X2[k],Y[k]=X1[k]*X2[k],求Y[k]的反傅里叶变换y2[n],比较y[n]与y2[n].

y[n]=[170175178143161115154158]

y[n]=y2[n]

程序:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%快速卷积即为圆周卷积,与线性卷积相比计算速度大大加快

%快速卷积长度L>=N1+N2-1

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

x1=[13536839];

x2=[24367902];

M=length(x1);

N=length(x2);

x10=[x1,zeros(1,N-1)];%%%扩充至8+7=15点序列

x20=[x2,zeros(1,M-1)];

X10=fft(x10);

X20=fft(x20);

Y=X10.*X20;

y=ifft(Y);%%反傅里叶变换得快速卷积序列15点

y1=conv(x1,x2);%%直接卷积

%%%确定x轴长度

m=0:

length(x1)-1;

n=0:

length(x2)-1;

ny=0:

length(y)-1;

figure

(1),

subplot(2,2,1),stem(m,x1,'r*');title('序列1');

subplot(2,2,2),stem(n,x2,'r*');title('序列2');

subplot(2,2,3),stem(ny,y,'r*');title('快速卷积');

subplot(2,2,4),stem(ny,y1,'r*');title('直接卷积');

图十三

结论:

%快速卷积即为圆周卷积,与线性卷积相比计算速度大大加快

%快速卷积长度L>=N1+N2-1

2)循环卷积和线性卷积的关系

a.x5=[13118552]x6=[2468]求x5,x6线性卷积y1(n);令L=8,求x5,x6的L

点循环卷积y2(n);比较y1(n),y2(n)的不同。

b.L=7+4-1,重复a

c.L>7+4-1,重复a

程序:

clearall;

x5=[13118552];

x6=[2468];

y1=conv(x5,x6);

ny=0:

length(y1)-1;

figure

(1),

subplot(2,2,1),stem(ny,y1,'r*');title('线性卷积');

Narray=[81012];

fori=1:

3

N=Narray(i);

x=[x5,zeros(1,N-length(x5))];%将x的长度扩展至N

h=[x6,zeros(1,N-length(x6))];%将h的长度扩展至N

m=[0:

N-1];

hm=h(mod(-m,N)+1);%将h循环折叠

H=toeplitz(hm,[0,h(2:

N)]);%用toeplitz函数产生循环卷积矩阵

y=x*H;%用向量-矩阵乘法求卷积

ny2=0:

length(y)-1;

figure

(1),

subplot(2,2,i+1),stem(ny2,y,'r*');title('循环卷积');

end

 

图十四

结论

L点圆周卷积是线性卷积以L为周期的周期延拓序列的主值序列

若L>=N1+N2-1,则L点圆周卷积能代替线性卷积

6.补零

用MATLAB计算如下N点序列的M点DFT:

(1)取N=8,M=8

(2)取N=8,M=16

(3)取N=8,M=32

根据实验结果,分析延长序列的离散傅里叶变换的特点。

程序:

clearall;

N=8;

M1=8;

M2=16;

M3=24;

x1=ones(1,N);

x2=[x1,zeros(1,M1)];

x3=[x1,zeros(1,M2)];

x4=[x1,zeros(1,M3)];

X1=fft(x1);

X2=fft(x2);

X3=fft(x3);

X4=fft(x4);

RX1=real(X1);

IX1=imag(X1);

MX1=abs(X1);

phaseX1=atan2(IX1,RX1);%angle(X);

RX2=real(X2);

IX2=imag(X2);

MX2=abs(X2);

phaseX2=atan2(IX2,RX2);%angle(X);

RX3=real(X3);

IX3=imag(X3);

MX3=abs(X3);

phaseX3=atan2(IX3,RX3);%angle(X);

RX4=real(X4);

IX4=imag(X4);

MX4=abs(X4);

phaseX4=atan2(IX4,RX4);%angle(X);

 

m=0:

length(x1)-1;

n=0:

length(x2)-1;

k=0:

length(x3)-1;

l=0:

length(x4)-1;

figure

(1),

subplot(2,4,1),stem(m,MX1,'r*');title('原序列的幅度谱');

subplot(2,4,2),stem(n,MX2,'r*');title('补N个零后序列的幅度谱');

subplot(2,4,3),stem(k,MX3,'r*');title('补2N个零后序列的幅度谱');

subplot(2,4,4),stem(l,MX4,'r*');title('补4N个零后序列的幅度谱');

subplot(2,4,5),stem(m,phaseX1,'r*');title('原序列的相位谱');

subplot(2,4,6),stem(n,phaseX2,'r*');title('补N个零后序列的相位谱');

subplot(2,4,7),stem(k,phaseX3,'r*');title('补2N个零后序列的相位谱');

subplot(2,4,8),stem(l,phaseX4,'r*');title('补4N个零后序列的相位谱');

图十四

结论;

由图可知点数越多幅度谱和相位谱越密集说明,随着序列长度的增加分辨率越高。

7.采样时间对频率分辨的影响

构造两个正弦信号相加f1=100Hz,f2=105Hz,

x(t)=3*cos(2*pi*f1*t)+1*cos(2*pi*f2*t)

a.以采样频率fs=800Hz对x(t)采样得到x(n),采样的持续时间100ms,求x(n)的512点DFT

b.以采样频率fs=1600Hz对x(t)采样得到x(n),采样的持续时间100ms,求x(n)的512点DFT

c.延长采样时间为300ms,求x(n)的512点DFT

clc,clearall,closeall;

F1=100;%Hz;

F2=105;%Hz

Fs=800;%采样频率Hz

Ts=1/Fs;

A1=3;%信号1的幅度

A2=2;%信号2的幅度

L=512;%DFT长度

freq_axis=([0:

512-1]-256)*Fs/512;

T1=100e-3;%采样时间100ms

t_axis1=[0:

Ts:

T1-Ts];

N1=length(t_axis1);%采样时间内采到的样本总数

x1=A1*cos(2*pi*F1*t_axis1)+A2*cos(2*pi*F2*t_axis1);

figure

(1);

subplot(3,1,1);

plot(x1);title(['采样时间='num2str(T1)'采样频率='num2str(Fs)]);

T2=100e-3;

Fs2=1600;

Ts2=1/Fs2;

t_axis2=[0:

Ts2:

T2-Ts2];

N2=length(t_axis2);%采样时间内采到的样本总数

x2=A1*cos(2*pi*F1*t_axis2)+A2*cos(2*pi*F2*t_axis2);

subplot(3,1,2)

plot(x2);title(['采样时间='num2str(T2)'采样频率='num2str(Fs2)]);

T3=300e-3;

t_axis3=[0:

Ts:

T3-Ts];

N3=length(t_axis3);%采样时间内采到的样本总数

x3=A1*cos(2*pi*F1*t_axis3)+A2*cos(2*pi*F2*t_axis3);

subplot(3

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2