实验一离散傅里叶变换的性质.docx

上传人:b****8 文档编号:10959793 上传时间:2023-02-24 格式:DOCX 页数:28 大小:186.92KB
下载 相关 举报
实验一离散傅里叶变换的性质.docx_第1页
第1页 / 共28页
实验一离散傅里叶变换的性质.docx_第2页
第2页 / 共28页
实验一离散傅里叶变换的性质.docx_第3页
第3页 / 共28页
实验一离散傅里叶变换的性质.docx_第4页
第4页 / 共28页
实验一离散傅里叶变换的性质.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

实验一离散傅里叶变换的性质.docx

《实验一离散傅里叶变换的性质.docx》由会员分享,可在线阅读,更多相关《实验一离散傅里叶变换的性质.docx(28页珍藏版)》请在冰豆网上搜索。

实验一离散傅里叶变换的性质.docx

实验一离散傅里叶变换的性质

数字信号处理

实验报告

 

实验日期:

2011.12.11

姓名:

公飞杜志广

学号:

090220107090220106

 

哈尔滨工业大学(威海)

实验一离散傅里叶变换的性质

一、实验目的

1、掌握离散傅里叶变换的性质,包括线性特性、时移特性、频移特性、对称性和循环卷积等性质;

2、通过编程验证傅里叶变换的性质,加强对傅里叶变换性质的认识。

二、实验原理和方法

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],并画出其幅度谱和相位谱

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

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

 

程序:

x1=[13536839];

x2=[24367902];

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

x4=[4+1j6+4j4+3j3+4j7+1j8+3j3+4j1+2j];

X1=fft(x1,8);

X2=fft(x2,8);

x_axis=[0:

1:

7];

figure

(1);

subplot(2,2,1);

stem(x_axis,abs(X1));

title('X1的幅度谱');

subplot(2,2,2);

stem(x_axis,angle(X1));

title('X1的相位谱');

subplot(2,2,3);

stem(x_axis,abs(X2),'r*');

title('X2的幅度谱');

subplot(2,2,4);

stem(x_axis,angle(X2),'r*');

title('X2的相位谱');

sum1=2*x1+6*x2;

SUM1=fft(sum1,8);%序列之和的FFT

sum2=2*x3+6*x4;

SUM2=fft(sum2,8);

figure

(2);

subplot(2,1,1);

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

stem(x_axis,abs(SUM2),'r*');

title('幅度谱');

subplot(2,1,2);

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

stem(x_axis,angle(SUM2),'r*');

title('相位谱');

2.时移特性

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

程序:

x1=[13536839];

N=length(x1);

n=0:

N-1;

X1=fft(x1);

xc=circshift(x1,[1,3]);%xc[n]=x1[n-3];

Xc=fft(xc);

figure,

subplot(3,2,1),stem(n,x1,'r*');title('原序列');

subplot(3,2,3),stem(n,abs(X1),'r*');title('原幅度谱');

subplot(3,2,5),stem(n,atan2(real(X1),imag(X1)),'r*');title('原相位谱');

subplot(3,2,2),stem(n,xc,'r*');title('变化序列');

subplot(3,2,4),stem(n,abs(Xc),'r*');title('变化幅度谱');

subplot(3,2,6),stem(n,atan2(real(Xc),imag(Xc)),'r*');title('变化相位谱');

3.对称性

(1)利用x1[n]构造共轭对称序列和共轭反对称序列,讨论如下问题

(a)画出共轭对称序列的傅里叶变换的幅度谱和相位谱

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

(c)画出该共轭反对称序列的傅里叶变换的幅度谱和相位谱

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

程序:

clearall;

x1=[13536839];

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);

Mo=abs(Xo);

phaseo=atan2(Io,Ro);%angle(X);

figure

(1),

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

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

subplot(2,2,3),stem(n,Mo,'r*');title('共轭反对称序列的幅度谱');

subplot(2,2,4),stem(n,phaseo,'r*');title('共轭反对称序列的相位谱');

Xe=fft(xe);

Re=real(Xe);

Ie=imag(Xe);

Me=abs(Xe);

phasee=atan2(Ie,Re);%angle(X);

figure

(2),

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

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

subplot(2,2,3),stem(n,Me,'r*');title('共轭对称序列的幅度谱');

subplot(2,2,4),stem(n,phasee,'r*');title('共轭对称序列的相位谱');

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

a.画出该共轭对称序列的傅里叶变换的幅度谱和相位谱

b画出该共轭对称序列的傅里叶变换的实部和虚部

c画出该共轭反对称序列的傅里叶变换的幅度谱和相位谱

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

clearall;

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

N=length(x3);

n=0:

N-1;

X3=fft(x3);

R3=real(X3);

I3=imag(X3);

xe=ifft(R3);

xo=ifft(j*I3);

Xo=fft(xo);

Ro=real(Xo);

Io=imag(Xo);

Mo=abs(Xo);

phaseo=atan2(Io,Ro);%angle(X);

figure

(1),

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

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

subplot(2,2,3),stem(n,Mo,'r*');title('共轭反对称序列的幅度谱');

subplot(2,2,4),stem(n,phaseo,'r*');title('共轭反对称序列的相位谱');

Xe=fft(xe);

Re=real(Xe);

Ie=imag(Xe);

Me=abs(Xe);

phasee=atan2(Ie,Re);%angle(X);

figure

(2),

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

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

subplot(2,2,3),stem(n,Me,'r*');title('共轭对称序列的幅度谱');

subplot(2,2,4),stem(n,phasee,'r*');title('共轭对称序列的相位谱');

(3)总结共轭对称和共轭反对称的实数序列和复数序列的傅里叶变换性质

4.循环卷积

(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].

程序:

%卷积

x1=[13536839];

x2=[24367902];

M=length(x1);

N=length(x2);

x10=[x1,zeros(1,N-1)];

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

X10=fft(x10);

X20=fft(x20);

Y=X10.*X20;

y=ifft(Y);

y1=conv(x1,x2);

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(ny,y1,'r*');title('直接卷积y[n]');

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

subplot(2,2,4),stem(ny,y,'r*');title('傅里叶卷积y2[n]');

5.补零

用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个零后序列的相位谱');

 

实验二IIR滤波器设计

一、实验目的

1、掌握冲激响应不变法和双线性变换法设计IIR滤波器的原理及具体设计方法,熟悉用双线性设计法设计低通IIR数字滤波器的计算机程序;

2、熟悉模拟Butterworth滤波器的设计,掌握冲激响应不变法和双线性变换法设计数字IIR滤波器的方法。

二、实验原理和方法

IIR滤波器设计的过程可以首先设计模拟滤波器,然后采用冲激响应不变法和双线性变换法设计IIR数字滤波器。

Butterworth滤波器

,其中

为3dB截止频率,N为滤波器阶次,均待定。

模拟滤波器的设计步骤:

首先根据数字滤波器设计要求计算模拟滤波器指标;其次要求出滤波器的阶次N和

三、实验内容

1.采样频率为1Hz,设计一个Butterworth低通数字滤波器,其中通带临界频率

,通带内衰减小于1dB(

),阻带临界频率

,阻带内衰减大于25dB(

)。

求这个数字滤波器的传递函数H(z),输出它的幅频特性曲线。

利用冲激响应不变法和双线性变换法实现该滤波器,并将结果进行比较。

程序:

%Butterworth低通滤波器设计

Wp=2*pi*0.2;Ws=2*pi*0.3;

Rp=1;Rs=25;

%设计滤波器

[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s');

[z,p,k]=buttap(N)

[B,A]=butter(N,Wn,'s')

[bz,az]=impinvar(B,A)

%画图Butterworth低通滤波器

f1=linspace(0,Wp,5);

f2=linspace(Wp,Ws,15);

f3=linspace(Ws,2*pi*10,30);

h1=20*log10(abs(freqs(B,A,f1)));

h2=20*log10(abs(freqs(B,A,f2)));

h3=20*log10(abs(freqs(B,A,f3)));

plot([f1f2f3]/(2*pi),[h1,h2,h3]);

grid;

xlabel('FrequencyinHz');

ylabel('GainindB');

结果:

N=

9

Wn=

1.3693

z=

[]

 

p=

-0.1736+0.9848i

-0.1736-0.9848i

-0.5000+0.8660i

-0.5000-0.8660i

-0.7660+0.6428i

-0.7660-0.6428i

-0.9397+0.3420i

-0.9397-0.3420i

-1.0000

k=

1.0000

 

B=

Columns1through8

00000000

Columns9through10

016.9199

 

A=

Columns1through8

1.00007.885331.089080.0039147.5921202.0932205.3890149.6408

Columns9through10

71.160516.9199

 

幅度谱:

%Butterworth低通滤波器设计

Wp=2*tan(0.2*pi);Ws=2*tan(0.15*pi);

Rp=1;Rs=25;Fs=1;

%设计滤波器

[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s')

[z,p,k]=buttap(N)

[B,A]=butter(N,Wn,'s')

[numd,dend]=bilinear(B,A,Fs)

%画图Butterworth低通滤波器

f1=linspace(0,Wp,5);

f2=linspace(Wp,Ws,15);

f3=linspace(Ws,2*pi*10,30);

h1=20*log10(abs(freqs(B,A,f1)));

h2=20*log10(abs(freqs(B,A,f2)));

h3=20*log10(abs(freqs(B,A,f3)));

plot([f1f2f3]/(2*pi),[h1,h2,h3]);

grid;

xlabel('FrequencyinHz');

ylabel('GainindB');

结果:

N=

11

 

Wn=

1.3236

 

z=

[]

 

p=

-0.1423+0.9898i

-0.1423-0.9898i

-0.4154+0.9096i

-0.4154-0.9096i

-0.6549+0.7557i

-0.6549-0.7557i

-0.8413+0.5406i

-0.8413-0.5406i

-0.9595+0.2817i

-0.9595-0.2817i

-1.0000

 

k=

1.0000

 

B=

Columns1through7

0000000

Columns8through12

000021.8508

 

A=

Columns1through7

1.00009.300843.2523132.2326294.4862500.7404662.7998

Columns8through12

682.9268537.2631307.8911115.997121.8508

 

numd=

Columns1through7

0.00010.00140.00690.02060.04120.05760.0576

Columns8through12

0.04120.02060.00690.00140.0001

 

dend=

Columns1through7

1.0000-2.80334.8599-5.55844.6931-2.95241.4091

Columns8through12

-0.50250.1309-0.02350.0026-0.0001

 

实验三FIR滤波器设计

一、实验目的

1、熟悉FIR滤波器设计的基本方法;

2、掌握窗函数法设计FIR滤波器的原理和方法;

3、熟悉线性相位FIR滤波器的幅频特性和相位特性;

4、了解不同窗函数对滤波器性能的响应。

二、实验原理和方法

三、实验内容

1.用窗函数法设计一个长度N=8的线性相位FIR滤波器。

其理想的幅频特性为

分别用矩形窗、Hanning窗、Hamming窗、Blackman窗设计该滤波器,并比较设计结果;

如果N=15,重复这一设计,观察幅频特性和相位特性的变化,注意长度N变化对结果的影响。

程序:

clc,clearall,closeall;

N_array=[815];

Point_array=['b','r'];

forI=1:

length(N_array)

N=N_array(I);

rect_window=ones(1,N);

hanning_window=hanning(N);

hamming_window=hanning(N);

blackman_window=blackman(N);

H_rect=freqz(rect_window,1,512);

H_hann=freqz(hanning_window,1,512);

H_hamm=freqz(hamming_window,1,512);

H_black=freqz(blackman_window,1,512);

freq_norm=[0:

511]/512;%归一化的频率轴

subplot(4,2,1);

plot(freq_norm,20*log10(abs(H_rect)/max(abs(H_rect))),Point_array(I));holdon;

title('矩形窗幅度谱');

xlabel('归一化频率w/pi');ylabel('幅度(dB)');

subplot(4,2,2);

plot(freq_norm,angle(H_rect),Point_array(I));holdon;

title('矩形窗相位谱');

xlabel('归一化频率w/pi');ylabel('相位');

subplot(4,2,3);

plot(freq_norm,20*log10(abs(H_hann)/max(abs(H_hann))),Point_array(I));holdon;

title('Hanning窗幅度谱');

xlabel('归一化频率w/pi');ylabel('幅度(dB)');

subplot(4,2

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

当前位置:首页 > 考试认证 > 司法考试

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

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