数字信号处理
实验报告
实验日期:2011.12.11
姓名:公飞杜志广
学号:090220107 090220106
哈尔滨工业大学(威海)
实验一 离散傅里叶变换的性质
一、 实验目的
1、 掌握离散傅里叶变换的性质,包括线性特性、时移特性、频移特性、对称性和循环卷积等性质;
2、 通过编程验证傅里叶变换的性质,加强对傅里叶变换性质的认识。 二、 实验原理和方法 1. 线性特性
1212DFT[()()]()()
ax n bx n aX k bX k +=+
2. 时移特性
DFT[()]()DFT[()]()km km x n m W X k x n m W X k -+=-= 3. 频移特性
()()nl
N IDFT X k l IDFT X k W +=????????
4. 对称性
设由x(n)开拓成的周期序列为 ()
p x n
则
()()()
p pe po x n x n x n =+
偶序列
()()()*
12pe p p x n x n x N n ??=+-?? 奇序列()()()*12po p p x n x n x N n ??=
--??
将
()
pe x n 和
()
po x n 截取主周期,分别得 ()()()
pet pe N x n x n R n =
()()()p o t p o N x n
x n R n = 则
()()()()()
p N pet pot x n x n R n x n x n ==+
x(n)序列的实部和虚部的离散立叶变换
(){}
()Re pet DFT x n X k =???? (){}
()
Im pot DFT j x n X k =????
[][]
()()()()()()()()()()()arg ()arg ()R R R I I I X k X k X N k X k X k X N k X k X k X N k X k X N k X k X k *=-=-=-=-=--=--=-=--
5. 循环卷积
()3123121
()()()()()x n x n x n X k X k X k N =?=
?
有限长序列线性卷积与循环卷积的关系
X1(n)和x2(n)的线性卷积:
1131
2
1
2
()()()()()N m m x n x m x n m x m x n m -∞=-∞
==
-=-∑∑1
1
2
()()
N m x m x n m -==-∑
将X1(n)和x2(n)开拓成以N 为周期的周期序列
11
()()
p r x n x n rN ∞
=-∞
=
+∑
22
()()
p q x n x n qN ∞
=-∞
=
+∑
则它们的周期卷积为
1
4120()()()N p p p m x n x m x n m -==-∑1
120
()()N p m x m x n m -==-∑1120()()
N m q x m x n m qN -∞
==-∞
=-+∑∑
1120()()N q m x m x n qN m ∞
-=-∞=??
=+-????∑∑3()q x n qN ∞
=-∞
=+∑ X1(n)和x2(n)周期开拓后的周期卷积等于他们的线性卷积的的周期开拓。 三、 实验内容和步骤
任取长度为N=8的随机实序列x1[n],x2[n],例如x1[n]=[1 3 5 3 6 8 3 9],x2[n]=[2 4 3 6 7 9 0 2 ],和长度为N=8的随机复序列x3[n],x4[n],例如x3[n]=[1+2j 3+4j 5+3j 3+4j 6+j 8+2j 3+3j 9+2j],x4[n]=[4+1j 6+4j 4+3j 3+4j 7+j 8+3j 3+4j 1+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 = [ 1 3 5 3 6 8 3 9];
x2 = [ 2 4 3 6 7 9 0 2];
x3 =[1+2j 3+4j 5+3j 3+4j 6+1j 8+2j 3+3j 9+2j];
x4 =[4+1j 6+4j 4+3j 3+4j 7+1j 8+3j 3+4j 1+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) ); hold on; stem( x_axis, abs(SUM2), 'r*' ); title( '幅度谱' );
subplot(2,1,2);
stem( x_axis, angle(SUM1) ); hold on; stem( x_axis, angle(SUM2), 'r*' ); title( '相位谱' );
2
46
8
X 1的幅度谱
2
46
8
X 1的相位谱
2
4
6
8
X 2的幅度谱
2
4
6
8
X 2的相位谱
幅度谱
01234567
相位谱
01234567
2.时移特性
给出序列x1[n]右移3位后的傅里叶变换的幅度谱和相位谱,并和原始序列的幅度谱和相位谱相比较
程序:
x1=[1 3 5 3 6 8 3 9];
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('变化相位谱');
02468
原序列
02468
原幅度谱
02468
原相位谱
02468
变化序列
02468
变化幅度谱
02468
变化相位谱
3.对称性
(1)利用x1[n]构造共轭对称序列和共轭反对称序列,讨论如下问题 (a ) 画出共轭对称序列的傅里叶变换的幅度谱和相位谱 (b ) 画出共轭对称序列的傅里叶变换的实部和虚部
(c ) 画出该共轭反对称序列的傅里叶变换的幅度谱和相位谱 (d ) 画出该共轭反对称序列的傅里叶变换的实部和虚部 程序: clear all;
x1=[1 3 5 3 6 8 3 9]; N=length(x1); x2(1)=x1(1); for i=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
4
6
8
共轭对称序列的频谱实部0
2468
共轭对称序列的频谱虚部
2
4
6
8
共轭对称序列的幅度谱
共轭对称序列的相位谱
2
4
6
8
共轭反对称序列的频谱实部
共轭反对称序列的频谱虚
部
共轭反对称序列的幅度谱
2468
共轭反对称序列的相位谱
(2)当x(n)为复序列时,推导傅里叶变换公式,利用x3[n]构造共轭对称序列和共轭反对称序列,讨论如下问题
a.画出该共轭对称序列的傅里叶变换的幅度谱和相位谱
b画出该共轭对称序列的傅里叶变换的实部和虚部
c画出该共轭反对称序列的傅里叶变换的幅度谱和相位谱
d画出该共轭反对称序列的傅里叶变换的实部和虚部
clear all;
x3=[1+2j 3+4j 5+3j 3+4j 6+1j 8+2j 3+3j 9+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('共轭对称序列的相位谱');
2
4
6
8
共轭对称序列的频谱实部0
2
4
6
8
共轭对称序列的频谱虚部
2
4
6
8
共轭对称序列的幅度谱
共轭对称序列的相位谱
2
4
6
8
共轭反对称序列的频谱实部02468
共轭反对称序列的频谱虚部
2
4
6
8
共轭反对称序列的幅度谱0
2468
共轭反对称序列的相位谱
(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=[1 3 5 3 6 8 3 9]; x2=[2 4 3 6 7 9 0 2]; 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]');
2
46
8
序列1
序列2
5
10
15
直接卷积y[n]
傅里叶卷积y2[n]
5.补零
用MATLAB 计算如下N 点序列的M 点DFT :
()1010n N x n ≤≤-?=?
?其它
(1)取N=8,M=8 (2)取N=8,M=16 (3)取N=8,M=32
根据实验结果,分析延长序列的离散傅里叶变换的特点。 程序: %补零 clear all; 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个零后序列的相位谱');
原序列的相位谱补N个零后序列的相位谱补2N个零后序列的相位谱补4N个零后序列的相位谱
实验二 IIR 滤波器设计
一、 实验目的
1、 掌握冲激响应不变法和双线性变换法设计IIR 滤波器的原理及具体设计方法,熟悉用双线性设计法设计低通IIR 数字滤波器的计算机程序;
2、 熟悉模拟Butterworth 滤波器的设计,掌握冲激响应不变法和双线性变换法设计数字IIR 滤波器的方法。 二、 实验原理和方法
IIR 滤波器设计的过程可以首先设计模拟滤波器,然后采用冲激响应不变法和双线性变换法设计IIR 数字滤波器。Butterworth 滤波器
221|()|1()
N
a c
H j Ω=
Ω+Ω, 其中c Ω为3dB 截止频率,N 为滤波器阶次,均待定。
模拟滤波器的设计步骤:首先根据数字滤波器设计要求计算模拟滤波器指标;其次要求出滤波器的阶次N 和
c
Ω
三、 实验内容
1. 采样频率为1Hz ,设计一个Butterworth 低通数字滤波器,其中通带临界频
率
0.2p f Hz
=,通带内衰减小于1dB(
1p dB
α=),阻带临界频率
0.3s f Hz
=,
阻带内衰减大于25dB(
25s dB α=)。求这个数字滤波器的传递函数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([f1 f2 f3]/(2*pi),[h1,h2,h3]);
grid;
xlabel('Frequency in Hz');
ylabel('Gain in dB');
结果:
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 =
Columns 1 through 8
0 0 0 0 0 0 0 0
Columns 9 through 10
0 16.9199
A =
Columns 1 through 8
1.0000 7.8853 31.0890 80.0039 147.5921 20
2.0932 205.3890 149.6408
Columns 9 through 10
71.1605 16.9199
幅度谱:
0123
45678910
-300
-250
-200
-150
-100
-50
Frequency in Hz
G a i n i n d B
%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([f1 f2 f3]/(2*pi),[h1,h2,h3]); grid;
xlabel('Frequency in Hz'); ylabel('Gain in dB');
结果:
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 =
Columns 1 through 7
0 0 0 0 0 0 0
Columns 8 through 12
0 0 0 0 21.8508
A =
Columns 1 through 7
1.0000 9.3008 43.2523 13
2.2326 294.4862 500.7404 662.7998
Columns 8 through 12
682.9268 537.2631 307.8911 115.9971 21.8508
numd =
Columns 1 through 7
0.0001 0.0014 0.0069 0.0206 0.0412 0.0576 0.0576
Columns 8 through 12
0.0412 0.0206 0.0069 0.0014 0.0001
dend =
Columns 1 through 7
1.0000 -
2.8033 4.8599 -5.5584 4.6931 -2.9524 1.4091
Columns 8 through 12
-0.5025 0.1309 -0.0235 0.0026 -0.0001
快速傅里叶变换实验报告
————————————————————————————————作者:————————————————————————————————日期: ?
快速傅里叶变换实验报告 机械34班 刘攀 2013010558 一、 基本信号(函数)的FF T变换 1. 000()sin()sin 2cos36x t t t t π ωωω=+++ 1) 采样频率08s f f =,截断长度N =16; 取02ωπ=rad/s,则0f =1Hz ,s f =8Hz ,频率分辨率 f ?=s f f N ?= =0.5Hz 。 最高频率c f =30f =3Hz ,s f >2c f ,故满足采样定理,不会发生混叠现象。 截断长度02T T =,整周期截取,不会发生栅栏效应。理论上有一定的泄漏,但在整周期 截取的情况下,旁瓣上的采样都约为 0,泄漏现象没有体现出来。 频谱图如下:
幅值误差0A ?=,相位误差0??=。 2) 采样频率08s f f =,截断长度N=32; 取02ωπ=rad/s ,则0f =1Hz,s f =8Hz ,频率分辨率f ?=s f f N ?==0.25Hz 。 最高频率c f =30f =3H z,s f >2c f ,故满足采样定理,不会发生混叠现象。 截断长度04T T =,整周期截取,不会发生栅栏效应。理论上有一定的泄漏,但在整周期 截取的情况下,旁瓣上的采样都约为 0,泄漏现象没有体现出来。 频谱图如下:
幅值误差0A ?=,相位误差0??=。 2. 00()sin()sin116x t t t π ωω=++ 1) 采样频率08s f f =,截断长度N=16; 取02ωπ=ra d/s,则0f =1Hz ,s f =8Hz,频率分辨率f ?=s f f N ?==0.5H z。 最高频率c f =110f =11H z,s f <2c f ,故不满足采样定理,会发生混叠现象。 截断长度02T T =,整周期截取,不会发生栅栏效应。理论上有一定的泄漏,但在整周期 截取的情况下,旁瓣上的采样都约为 0,泄漏现象没有体现出来。 频谱图:
傅里叶变换性质证明 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】
傅里叶变换的性质 2.6.1线性 若信号和的傅里叶变换分别为和, 则对于任意的常数a和b,有 将其推广,若,则 其中为常数,n为正整数。
由傅里叶变换的定义式很容易证明线性性质. 显然傅里叶变换也是一种线性运算,在第一章我们已经知道了,线性有两个含义:均匀性和叠加性。均匀性表明,若信号乘以常数a,则信号的傅里叶变换也乘以相同的常数a,即 叠加性表明,几个信号之和的傅里叶变换等于各个信号的傅里叶变换之和 ? 2.6.2 反褶与共轭性 设f(t)的傅里叶变换为,下面我们来讨论信号反褶、共轭以及既反褶又共轭后,新信号的傅里叶变换。
(1)反褶 f(-t)是f(t)的反褶,其傅里叶变换为 (2)共轭 (3)既反褶又共轭 本性质还可利用前两条性质来证明: 设g(t)=f(-t),h(t)=g*(t),则 在上面三条性质的证明中,并没有特别指明f(t)是实函数还是复函数,因此,无论f(t)为实信号还是复信号,其傅里叶变换都满足下面三条性质2.6.3 奇偶虚实性 已知f(t)的傅里叶变换为。在一般情况下,是复函数,因此可以把它表示成模与相位或者实部与虚部两部分,即 ? 根据定义,上式还可以写成 下面根据f(t)的虚实性来讨论F()的虚实性。 (1) f(t)为实函数对比式(2-33)与(2-34),由FT的唯一性可得 ()f(t)是实的偶函数,即f(t)=f(-t)
X()的积分项是奇函数,而奇函数在对称区间内的积分为零,故 这时X()=0,于是 可见,若f(t)是实偶函数,则F()也是实偶函数,即 左边反褶,右边共轭 ()f(t)是实的奇函数,即-f(t)=f(-t) R()的积分项是奇函数,而奇函数在对称区间内的积分为零,故 这时R()=0,于是 可见,若f(t)是实奇函数,则F()是虚奇函数,即 左边反褶,右边共轭 有了上面这两条性质,下面我们来看看一般实信号(即可能既不是偶信号,又不是奇信号,反正不清楚,或者说是没有必要关心信号的奇偶特性)的FT频谱特点。 2.6.4对称性
1 / 7 信息工程学院实验报告 课程名称:信号与系统 实验项目名称:实验 3 傅里叶变换及其性质实验时间: 2013-11-29 班级: 姓名:学号: 一、实验目的: 1、学会运用MATLAB 求连续时间信号的傅里叶(Fourier )变换; 2、学会运用MATLAB 求连续时间信号的频谱图; 3、学会运用MATLAB 分析连续时间信号的傅里叶变换的性质。 二、实验环境: 1、硬件:在windows 7 操作环境下; 2、软件:Matlab 版本7.1 三、实验原理: 3.1傅里叶变换的实现 信号()f t 的傅里叶变换定义为:() [()] ()j t F F f t f t e dt , 傅里叶反变换定义为: 1 1()[()] ()2 j t f t F F f e d 。 信号的傅里叶变换主要包括MATLAB 符号运算和MATLAB 数值分析两种方法,下面分别加以探讨。同时, 学习连续时间信号的频谱图。 3.1.1 MATLAB 符号运算求解法 MATLAB 符号数学工具箱提供了直接求解傅里叶变换与傅里叶反变换的函数fourier( )和ifourier( )。 Fourier 变换的语句格式分为三种。 (1)F=fourier(f):它是符号函数 f 的Fourier 变换,默认返回是关于的函数。 (2)F=fourier(f,v) :它返回函数F 是关于符号对象 v 的函数,而不是默认的 ,即 ()()j v t Fv fte d t 。 (3)F=fourier(f,u,v):是对关于u 的函数f 进行变换,返回函数F 是关于v 的函数,即 ()()jvu F v f t e du 。 傅里叶反变换的语句格式也分为三种。(1)f=ifourier(F):它是符号函数F 的Fourier 反变换,独立变量默认为 ,默认返回是关于 x 的函数。 (2)f=ifourier(F,u):它返回函数 f 是u 的函数,而不是默认的 x 。 (3)f=ifourier(F,u,v) :是对关于v 的函数F 进行反变换,返回关于 u 的函数f 。 成 绩: 指导教师(签名):
实验四:离散傅里叶变换 实验原理: 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时,对补零使其长度为N,当x的长度大于N时,对x截断使其长度为N。 实验内容: =60; n=[0:1:k/2]; xa1=2*sin(10*pi*n/k)+cos(18*pi*n/k); subplot(321) stem(n,xa1) xlabel('N');ylabel('x(n)'); xk1=fft(xa1);xk1=abs(xk1) subplot(322) stem(n,xk1) xlabel('k');ylabel('X(k)'); n=[0:1:k*]; xa1=2*sin(10*pi*n/k)+cos(18*pi*n/k); subplot(323) stem(n,xa1) xlabel('N');ylabel('x(n)'); xk1=fft(xa1);xk1=abs(xk1) subplot(324) stem(n,xk1) xlabel('k');ylabel('X(k)'); n=[0:1:k*2]; xa1=2*sin(10*pi*n/k)+cos(18*pi*n/k); subplot(325) stem(n,xa1) xlabel('N');ylabel('x(n)'); xk1=fft(xa1);xk1=abs(xk1) subplot(326) stem(n,xk1) xlabel('k');ylabel('X(k)');
傅里叶变换的性质 2.6.1线性 若信号和的傅里叶变换分别为和, 则对于任意的常数a和b,有 将其推广,若,则 其中为常数,n为正整数。 由傅里叶变换的定义式很容易证明线性性质. 显然傅里叶变换也是一种线性运算,在第一章我们已经知道了,线性有两个含义:均匀性和叠加性。均匀性表明,若信号乘以常数a,则信号的傅里叶变换也乘以相同的常数a,即
叠加性表明,几个信号之和的傅里叶变换等于各个信号的傅里叶变换之和 2.6.2 反褶与共轭性 设f(t)的傅里叶变换为,下面我们来讨论信号反褶、共轭以及既反褶又共轭后,新信号的傅里叶变换。 (1)反褶 f(-t)是f(t)的反褶,其傅里叶变换为 (2)共轭 (3)既反褶又共轭
本性质还可利用前两条性质来证明: 设g(t)=f(-t),h(t)=g*(t),则 在上面三条性质的证明中,并没有特别指明f(t)是实函数还是复函数,因此,无论f(t)为实信号还是复信号,其傅里叶变换都满足下面三条性质 2.6.3 奇偶虚实性 已知f(t)的傅里叶变换为。在一般情况下,是复函数,因此可以把它表示成模与相位或者实部与虚部两部分,即 根据定义,上式还可以写成 下面根据f(t)的虚实性来讨论F()的虚实性。
(1) f(t)为实函数 对比式(2-33)与(2-34),由FT的唯一性可得 ()f(t)是实的偶函数,即f(t)=f(-t) X()的积分项是奇函数,而奇函数在对称区间内的积分为零,故 这时X()=0,于是 可见,若f(t)是实偶函数,则F()也是实偶函数,即 左边反褶,右边共轭 ()f(t)是实的奇函数,即-f(t)=f(-t) R()的积分项是奇函数,而奇函数在对称区间内的积分为零,故 这时R()=0,于是 可见,若f(t)是实奇函数,则F()是虚奇函数,即 左边反褶,右边共轭 有了上面这两条性质,下面我们来看看一般实信号(即可能既不是偶信号,又不是奇信号,反正不清楚,或者说是没有必要关心信号的奇偶特性)的FT频谱特点。 2.6.4对称性 傅里叶变换与傅里叶反变换之间存在着对称关系,称为傅里叶变换的对称性质。若已知
离散信号的变换(MATLAB 实验) 一、实验目的 掌握用Z 变换判断离散系统的稳定与否的方法,掌握离散傅立叶变换及其基本性质和特点,了解快速傅立叶变换。 二、实验内容 1、已经系统函数为 5147.13418.217.098.2250 5)(2342-++--+=z z z z z z Z H (1) 画出零极点分布图,判断系统是否稳定; (2)检查系统是否稳定; (3) 如果系统稳定,求出系统对于u(n)的稳态输出和稳定时间b=[0,0,1,5,-50];a=[2,-2.98,0.17,2.3418,-1.5147]; subplot(2,1,1);zplane(b,a);title('零极点分布图'); z=roots(a); magz=abs(z) magz = 0.9000 0.9220 0.9220 0.9900 n=[0:1000]; x=stepseq(0,0,1000); s=filter(b,a,x); subplot(2,1,2);stem(n,s);title('稳态输出'); (1)因为极点都在单位园内,所以系统是稳定的。 (2)因为根的幅值(magz )都小于1,所以这个系统是稳定的。 (3)稳定时间为570。 2、综合运用上述命令,完成下列任务。 (1) 已知)(n x 是一个6点序列: ???≤≤=其它,050,1)(n n x
计算该序列的离散时间傅立叶变换,并绘出它们的幅度和相位。 要求:离散时间傅立叶变换在[-2π,2π]之间的两个周期内取401个等分频率上进行数值求值。 n=0:5;x=ones(1,6); k=-200:200;w=(pi/100)*k; X=x*(exp(-j*pi/100)).^(n'*k); magX=abs(X);angX=angle(X); subplot(2,1,1);plot(w/pi,magX);grid;title('幅度'); subplot(2,1,2);plot(w/pi,angX);grid;title('相位'); (2) 已知下列序列: a. ,1000),52.0cos()48.0cos()(≤≤+=n n n n x ππ; b .)4sin()(πn n x =是一个N =32的有限序列; 试绘制)(n x 及它的离散傅立叶变换 )(k X 的图像。 a . n=[0:1:100];x=cos(0.48*pi*n)+cos(0.52*pi*n); subplot(2,1,1);plot(n,x);title('x(n)的图像'); X=dft(x,101); magX=abs(X); subplot(2,1,2);plot(n,magX);title('丨X(k)丨的图像');
§3–4傅里叶变换的性质 设f(t) ←→F(jω),f1(t) ←→F1(jω),f2(t) ←→F2(jω);α、α1、α2为实数, 则有如下性质: 一、线性:α1 f1(t) + α2 f2(t)←→α1F1(jω) + α2 F2(jω) 二、对称性:F(jt)←→2πf(-ω) 证明: 将上式中的t换为ω,将原有的ω换为t, 或: , 即:F(jt)←→2π f(-ω) P.67例3-3:已知 , 再令 ==> ←→2πG(-ω) 三、尺度变换: (α≠0的实数) 可见信号持续时间与占有频带成反比(此性质易由积分变量代换证得)。 推论(折叠性):f(-t) ←→F(-jω) 四、时移性: (此性质易由傅氏变换的定义证得) 推论(同时具有尺度变换与时移): P.69-70例3-4请大家浏览。
五、频移性:
(此性质易由傅氏变换的定义证得) π.70例3-5请大家浏览。 频移性的重要应用——调制定理: 欧拉公式 ? 例如门信号的调制:
显然,当ω0足够大时,就可使原频谱密度函数被向左、右复制时几乎不失真。 六、时域卷积: f1(t)* f2(t) ←→F1(jω)F2(jω) 证明: 时域卷积的重要应用——求零状态响应的频域法: 时域:yf(t) = f(t)* h(t) ==> 频域:Y f(jω) = F(jω)H(jω) 七、频域卷积:f1(t). f2(t) ←→1/2π[F1(jω)*F2(jω)] 八、时域微分性:df(t)/dt←→ jωF(jω) (其证明请自学P.72-73有关内容) 推论: 条件: 例如:d(t) ←→1 ==>δ'(t) ←→jω 九、时域积分性:
戶幵,戈丿、弟实验报告 课程名称:彳 _____________ 指导老师 _____________ 成绩: ____________________ 实验名称:离散傅里叶变换和快速傅里叶变换 实验类型: _________________ 同组学生姓名: 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 1. 掌握DFT 的原理和实现 2. 掌握FFT 的原理和实现,掌握用 FFT 对连续信号和离散信号进行谱分析的方法。 二、实验内容和原理 2.1 DTFT 和 DFT N 1 如果x(n)为因果有限长序列,n=0,1,...,N-1,则x(n)的DTFT 表示为:X(e j ) x(n)e n 0 序列的N 点DFT 是DTFT 在[0,2 n 上的N 点等间隔采样,采样间隔为2 d N 。通过DFT , 可以完成由一组有限个信号采样值 x(n)直接计算得到一组有限个频谱采样值 X(k)。X(k)的幅 度谱为X(k) v 'x R (k ) X |2(k ) , X R (k)和X i (k)分别为X(k)的实部和虚部。X(k)的相位谱 为(k) 列吩 序列x(n)的离散事件傅里叶变换(DTFT )表示为: X(e j ) x( n)e x(n)的离散傅里叶变换(DFT )表达式为: X(k) x(n)e n 0 j^nk N (k 0,1,…,N 1)
IDFT )定义为 x(n)丄 N \(k)e j_Nnk (n 0,1,…,N 1) N n 0 2.2 FFT 快速傅里叶变换(FFT )是DFT 的快速算法,它减少了 DFT 的运算量,使数字信号的处理 速度大大提高。 三、主要仪器设备 PC 一台,matlab 软件 四、实验内容 4.1第一题 x(n)的离散时间 傅里叶变换(DTFT ) X(e j Q )并绘图。 0 其2他n 2; (2)已知 x(n) 2n 0 n 10。 0其他 4.1.1理论分析 1) 由DTFT 计算式, X (Q)是实数,可以直接作出它的图像。 离散傅里叶反变换 求有限长离散时间信号 (1)已知 x(n) X( ) x(n)e j n e 2j 1 5j e 1 e j e 2? e 2? 0.5j e 0.5 j e sin(2.5 )
一. 序列的傅里叶变换(DTFT )的对称性 已知: [()]()j DTFT x n X e ω= **[()]()j DTFT x n X e ω-= **[()]()j DTFT x n X e ω-=(由Z 变换的性质可推出) 共轭对称序列:()()*e e x n x n =-实部是偶对称序列,虚部是奇对称序列 共轭反对称序列: ()()*o o x n x n =--实部是奇对称序列,虚部是偶对称序列 任一序列总可以表示成共轭对称序列和共轭反对称序列之和: ()()()()()()()()() **12 12e e o o x n x n x n x n x n x n x n x n x n ???=+-????=+? ???=--? ??? ()()()()()()()()()**1212j j j e j j j e o j j j o X e X e X e X e X e X e X e X e X e ω ωωωωωωωω--???=+?? ??=+? ???=-? ??? 求证: [Re(())]() [Im(())]()j e j o DTFT x n X e DTFT j x n X e ωω ?=?=? or [()]Re(()) [()]Im(())j e j o IDTFT X e x n IDTFT X e j x n ωω ?=?=? [()]Re(()) [()]Im(())j e j o DTFT x n X e DTFT x n j X e ωω ?=?=? or [Re(())]() [Im(())]()j e j o IDTFT X e x n IDTFT j X e x n ωω ?=?=? 证明: ()()()[][] ** 1 21()()21 2Re(())2 Re(())j j j e X e X e X e DTFT x n x n DTFT x n DTFT x n ωωω-?? = +? ???= +??== ()()( )[][]* * 121()()2 1 2I m (())2 I m (())j j j o X e X e X e D T F T x n x n D T F T j x n D T F T j x n ωω ω- ??= -? ? ??= -??==
实验四离散傅里叶变换的性质 一、实验目的 1. 熟悉matlab软件中离散傅里叶变换的实现方法及FFT函数的使用方法; 2. 通过软件仿真,加深对离散傅里叶变换性质的理解。 二、实验内容 1. 验证离散傅里叶变换的线性性质; 2. 掌握用matlab实现圆周移位的方法; 3. 验证圆周卷积与线性卷积的关系。 三、实验步骤 1. 验证线性性质 设两个有限长序列分别为xn1=[3,1,-2,2,3,4],xn2=[1,1,1,1],做4DFT[xn1]+2DFT[xn2],及DFT[4xn1+2xn2]的运算,比较它们的结果。 代码如下: clear,N=20;n=[0:1:N-1]; xn1=[3,1,-2,2,3,4];n1=0:length(xn1)-1; %定义序列xn1 xn2=[1,1,1,1];n2=0:length(xn2)-1; %定义序列xn2 yn1=4*xn1;yn2=2*xn2;[yn,ny]=seqadd(yn1,n1,yn2,n2); %计算4xn1+2xn2 xk1=fft(xn1,N);xk2=fft(xn2,N); %分别求DFT[xn1] 和DFT[xn2] yk0=4*xk1+2*xk2; %计算4DFT[xn1]+2DFT[xn2] yk=fft(yn,N); %计算DFT[4xn1+2xn2] subplot(2,1,1);stem(n,yk0);title('傅里叶变换之和') %显示4DFT[xn1]+2DFT[xn2] subplot(2,1,2);stem(n,yk);title('序列和之傅里叶变换') %显示DFT[4xn1+2xn2] 运行结果如图1所示,从图中可知,用两种方法计算的DFT完全相等,所以离散傅里叶变换的线性性质得到验证。
第3章 离散傅里叶变换(DFT)
3.2 离散傅里叶变换的基本性质
3.2.1 线性性质
如果x1(n)和x2(n)是两个有限长序列, 长度分别为N1 和N2。 若 y(n)=ax1(n)+bx2(n) 式中a、 b为常数. 取N=max[N1, N2] , 则y(n)的N点DFT为 Y(k)=DFT[y(n)]=aX1(k)+bX2 (k), 0≤k≤N-1 (3.2.1) 其中X1(k)和X2(k)分别为x1(n)和x2(n)的N点DFT。
1
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/df5549362.html,
X
第3章 离散傅里叶变换(DFT)
3.2.2
循环移位性质
1. 序列的循环移位 设x(n)为有限长序列, 长度为N, 则x(n)的循环 移位定义为 y(n)=x((n+m))NRN(n) (3.2.2)
2
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/df5549362.html,
X
第3章 离散傅里叶变换(DFT) x(n)
n 0 1 2 3 4 5 6 7
% x ( n)
…
-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13
…
n
% x(n + 2)
…
-7 -6 -5 -4 -3 -2 -1
3
…
0 1 2 3 4 5 6 7 8 9 10 11 12 13
n
图 3.2.1
循环移位过程示意图 (N=8)
X
PDF 文件使用 "pdfFactory Pro" 试用版本创建 https://www.doczj.com/doc/df5549362.html,
电 子 科 技 大 学 实 验 报 告 学生姓名:项阳 学 号: 2010231060011 指导教师:邓建 一、实验项目名称:离散时间傅里叶变换 二、实验目的: 熟悉序列的傅立叶变换、傅立叶变换的性质、连续信号经理想采样后进行重建,加深对时域采样定理的理解。 三、实验内容: 1. 求下列序列的离散时间傅里叶变换 (a) ()(0.5)()n x n u n = (b) (){1,2,3,4,5}x n = 2. 设/3()(0.9),010,j n x n e n π=≤≤画出()j X e ω并观察其周期性。 3. 设()(0.9),1010,n x n n =--≤≤画出()j X e ω并观察其共轭对称性。 4. 验证离散时间傅里叶变换的线性、时移、频移、反转(翻褶)性质。 5. 已知连续时间信号为t a e t x 1000)(-=,求: (a) )(t x a 的傅里叶变换)(Ωj X a ; (b) 采样频率为5000Hz ,绘出1()j X e ω,用理想内插函数sinc()x 重建)(t x a ,并对结果进行讨论; (c) 采样频率为1000Hz ,绘出2()j X e ω,用理想内插函数sinc()x 重建)(t x a ,并对结果进行讨论。 四、实验原理:
1. 离散时间傅里叶变换(DTFT)的定义: 2.周期性:()j X e ?是周期为2π的函数 (2)()()j j X e X e ??π+= 3.对称性:对于实值序列()x n ,()j X e ?是共轭对称函数。 *()() Re[()]Re[()] Im[()]Im[()]()() ()() j j j j j j j j j j X e X e X e X e X e X e X e X e X e X e ??????????-----===-=∠=-∠ 4.线性:对于任何12,,(),()x n x n αβ,有 1212[()()][()][()]F x n x n F x n F x n αβαβ+=+ 5.时移 [()][()]()j k j j k F x n k F x n e X e e ωωω---== 6.频移 00()[()]()j n j F x n e X e ωωω-= 7.反转(翻褶) [()]()j F x n X e ω--= 五、实验器材(设备、元器件): PC 机、Windows XP 、MatLab 7.1 六、实验步骤: 本实验要求学生运用MATLAB 编程产生一些基本的离散时间信号,并通过MATLAB 的几种绘图指令画出这些图形,以加深对相关教学内容的理解,同时也通过这些简单的函数练习了MATLAB 的使用。 [()]()()(), ()j j jn z e n n F x n X e X z x n e x n ωωω∞-==-∞∞=-∞===<∞∑∑收敛条件为:
1. [][]()()j j ax n by n aX e bX e ωω+?+ Proof: ([][])[][]()() j n j n j n j j ax n by n e a x n e b y n e aX e bX e ωωωωω∞ --∞ ∞∞ ---∞-∞ +=+=+∑∑∑ 2. (1)[]()d j n j d x n n X e e ωω--? Proof: ()[][].()d d j n d n j n n j n d n j n j x n n e x n n e e X e e ωωωωω∞-=-∞∞---=-∞--=-=∑ ∑ (2) 00()[]()j n j e x n X e ωωω-? Proof: 000()()[][]()j n j n j n j n n e x n e x n e X e ωωωωωω∞∞ ----=-∞=-∞==∑ ∑ 3. []()j x n X e ω--? Proof: ()[][]()j n j n j n n x n e x n e X e ωωω∞∞ ---=-∞=-∞-=-=∑ ∑ if []x n is real ()j X e ω-=*()j X e ω 4. ()[]j dX e nx n j d ωω? Proof: ()[]() ()[]()[]j j n n j j n n j j n n X e x n e dX e jn x n e d dX e j nx n e d ωωωωωωωω∞-=-∞∞-=-∞∞-=-∞=?=-?=∑∑∑
5. (1)22 1|[]||()|2j n x n X e d πωπωπ∞ =-∞-=∑ ? Proof: 2*2221 |()|21 ()()21 [][]21 |[]|21 |[]| 2|[]|j j j j n j n n n n n n X e d X e X e d x n e x n e d x n d x n d x n πωππωωππωωπππππωπ ωπ ωπ ωπ ωπ---∞∞-=-∞=-∞-∞=-∞ -∞=-∞ -∞=-∞ =====??∑∑?∑?∑ ?∑ (2) **1[][]()()2j j n x n y n X e Y e d π ωωπωπ∞=-∞-=∑ ? Proof: *****1 ()()21 ()()21 [][]21[][]21 [][] 2[][] j j j j j n j n n n n n n n X e Y e d X e Y e d x n e y n e d x n y n d x n y n d x n y n πωωππωωππωωπππππωπ ωπ ωπ ωπ ωπ---∞∞-=-∞=-∞-∞ =-∞-∞ ∞=-∞ =-∞-∞=-∞====??∑∑?∑?∑ ∑?∑ 6. []*[]()()j j x n y n X e Y e ωω? Proof:
实验3 傅里叶变换及其性质 1. 实验目的 学会运用MATLAB 求连续时间信号的傅里叶(Fourier )变换;学会运用MATLAB 求连续时间信号的频谱图;学会运用MATLAB 分析连续时间信号的傅里叶变换的性质。 2. 实验原理及实例分析 傅里叶变换的实现 信号()f t 的傅里叶变换定义为: ()[()]()j t F F f t f t e dt ωω∞ --∞==?, 傅里叶反变换定义为:11()[()]()2j t f t F F f e d ωωωωπ ∞--∞==?。 信号的傅里叶变换主要包括MATLAB 符号运算和MATLAB 数值分析两种方 法,下面分别加以探讨。同时,学习连续时间信号的频谱图。 MATLAB 符号运算求解法 MATLAB 符号数学工具箱提供了直接求解傅里叶变换与傅里叶反变换的函 数fourier( )和ifourier( )。Fourier 变换的语句格式分为三种。 (1) F=fourier(f):它是符号函数f 的Fourier 变换,默认返回是关于ω的函数。 (2) F=fourier(f,v):它返回函数F 是关于符号对象v 的函数,而不是默认的ω, 即()()jvt F v f t e dt ∞ --∞=?。 (3) F=fourier(f,u,v):是对关于u 的函数f 进行变换,返回函数F 是关于v 的 函数,即()()jvu F v f t e du ∞ --∞=?。 傅里叶反变换的语句格式也分为三种。 (1) f=ifourier(F):它是符号函数F 的Fourier 反变换,独立变量默认为ω,默 认返回是关于x 的函数。 (2) f=ifourier(F,u):它返回函数f 是u 的函数,而不是默认的x 。 (3) f=ifourier(F,u,v):是对关于v 的函数F 进行反变换,返回关于u 的函数f 。 值得注意的是,函数fourier( )和ifourier( )都是接受由sym 函数所定义的符号 变量或者符号表达式。
傅里叶变换的基本性质(一) 傅里叶变换建立了时间函数和频谱函数之间转换关系。在实际信号分析中,经常 需要对信号的时域和频域之间的对应关系及转换规律有一个清楚而深入的理解。 因此有必要讨论傅里叶变换的基本性质,并说明其应用。 一、线性 傅里叶变换是一种线性运算。若-'1 ' 一 1 一八 餐丄I 则 嗽(0 +罰⑷ G 迅(j 由)+ 碍(Jtu ) (3-55) 其中a 和b 均为常数,它的证明只需根据傅里叶变换的定义即可得出。 例3-6利用傅里叶变换的线性性质求单位阶跃信号的频谱函数 ,; 「" 由式(3-55)得 =侔7(/)}=-屛1} + - (sgn( /)}=丄 K 刼罠珂 + 丄用2 二足飢也)+ — 2 2 2 2 JtD J QJ 、对称性 (3-56) 则」 将上式中变量少换为x ,积分结果不变,即 证明因为 fC )二丄「EQ 讣叫田 N J 2^(i) = f F(J 噪叫 a 2^(-1)=「F(j 嫌小咕 J —TO
」一 再将t用夕代之,上述关系依然成立,即 2戒(―型)-[ Jr-CD 最后再将x用t代替,则得—Lm—? ” 所以,fl- —■-'■ ■■* 证毕 若八」是一个偶函数,即-'二丿■,相应有-,:"J,则式(3-56) 尺〔血—2对'(创)C3-57) 成为 可见,傅里叶变换之间存在着对称关系,即信号波形与信号频谱函数的波形有着互相置换的关系,其幅度之比为常数二丁。式中的-兰表示频谱函数坐标轴必须正负对调。例如:/(0 =郭)一S)=l FS)= 1一2才㈣=2斶眄 例3-7若信号;二的傅里叶变换为 < r 72 G3> r <2 试求。 解将中的"换成t,并考虑;-";1为兰的实函数,有 M |r|G 戈 0 |t|>r/2 该信号的傅里叶变换由式(3-54)可知为 頁恥)卜2氓旳(号)
实验二离散时间傅里叶变换和离散傅里叶变换 一.实验目的 1.深刻理解离散时间信号傅里叶变换的定义,与连续傅里叶变换之间的关系; 2.深刻理解序列频谱的性质(连续的、周期的等); 3.能用MATLAB编程实现序列的DTFT,并能显示频谱幅频、相频曲线; 4.深刻理解DFT的定义、DFT谱的物理意义、DFT与DTFT之间的关系; 5.能用MATLAB编程实现有限长序列的DFT; 6.熟悉循环卷积的过程,能用MA TLAB编程实现循环卷积运算。 二.实验原理 1.离散时间信号的频谱和图示化 2.离散傅里叶变换的定义和图示化 三.实验结果 w=[0:2:500]*pi*2/500; h=(1+0.9*exp(-j*w))./(1-0.9*exp(-j*w)); magh=abs(h); plot(w/pi,magh);grid;xlabel('f');ylabel('|H(w)|'); n=[0:127]; m=[0:127]; x=exp(j*2*pi/128*m.*n); [xk]=dft(x,128); stem(n,xk);xlabel('n');ylabel('xk');
n=[0:127]; m=[0:127]; x=cos(2*pi/128*m.*n); [xk]=dft(x,128); stem(n,xk);xlabel('n');ylabel('xk'); n=[0:127]; m=[0:127]; [xk]=dft(x,128); stem(n,xk);xlabel('n');ylabel('xk'); n=[0:127];m=[0,127]; x=sin(n); [xk]=dft(x,128); stem(n,xk);xlabel('n');ylabel('xk');
实验三 离散傅里叶变换 一 实验目的 1、理解和加深DFS 和DFT 的概念及其性质; 2、学习利用离散傅里叶变换分析信号的频谱。 二 实验设备 1、计算机 2、MA TLAB R2007a 仿真软件 三 实验原理 离散傅里叶变换在时域和频域都离散有限的特点,使其成为信号分析与处理中的一个最根本的也是最常用的变换。然而,但序列的长度N 很大时,直接计算DFT 需要很大的计算量。快速傅里叶变换使DFT 的运算效率提高数个数量级,为数字信号处理技术应用与各种信号的实时处理创造了良好的条件。MA TLAB 提供了用于快速计算DFT 的fft 函数,其调用格式为:y=fft(x) 或 y=fft(x,N);fft 函数用来计算序列)(n x 的N 点DFT ,如果序列的长度小于N ,则函数在序列的尾部补零至N 点;而当序列的长度大于N 时,函数对序列进行截短。为了提高运行速度,通常将N 取为2的整数次幂。 四 实验内容 1、上机实验前,认真阅读实验原理,掌握DFS 和DFT 的基本概念; 2、掌握离散傅里叶变换分析信号频谱的MATLAB 实现方法。 实例1:求周期序列)()(~ 5 ~ n R n x ,周期分别为N=20 和N=60时的)(~ k X 。 将下列指令编辑到“exlfft.m ”文件中: clc; close all; clear all; L=5;N1=20;N2=60; xn1=[ones(1,L),zeros(1,N1-L)]; xn2=[ones(1,L),zeros(1,N2-L)]; n1=0:N1-1; n2=0:N2-1; Xk1=fft(xn1,N1); Xk2=fft(xn2,N2); magXk1=abs(Xk1); magXk2=abs(Xk2); k1=[-N1/2:N1/2];
数字信号处理实验 题目:离散傅里叶变换的性质及应用 学院: 专业: 学生姓名:班级/学号 指导老师: 一、实验目的 1.了解DFT的性质及其应用 2.熟悉MATLAB编程特点 二、实验仪器及材料 计算机,MATLAB软件
三、实验内容及要求 1.用三种不同的DFT 程序计算8()()x n R n =的256点离散傅里叶变换()X k ,并比较三种程序计算机运行时间。 (1)编制用for loop 语句的M 函数文件dft1.m ,用循环变量逐点计算()X k ; (2)编写用MATLAB 矩阵运算的M 函数文件dft2.m ,完成下列矩阵运算: 000 0121 012(1) (1)(1) (0)(0) (1)(1) (1)(1) N N N N N N N N N N N N N N N N N X x W W W W X x W W W W x N X N W W W W -----?????? ????????????=???????????? --???????????? (3)调用fft 库函数,直接计算()X k ; (4)分别调用上述三种不同方式编写的DFT 程序计算序列()x n 的离散傅里叶变换 ()X k ,并画出相应的幅频和相频特性,再比较各个程序的计算机运行时 间。 M 函数文件如下: dft1.m: function[Am,pha]=dft1(x) N=length(x); w=exp(-j*2*pi/N); for k=1:N sum=0; for n=1:N sum=sum+x(n)*w^((k-1)*(n-1)); end Am(k)=abs(sum); pha(k)=angle(sum); end dft2.m: function[Am,pha]=dft2(x) N=length(x); n=[0:N-1];
应用MATLAB对信号进行频谱分析及滤波 设计目的 要求学生会用MATLAB语言进行编程,绘出所求波形,并且运用FFT求对连续信号进行分析。 一、设计要求 1、用Matlab产生正弦波,矩形波,并显示各自的时域波形图; 2、进行FFT变换,显示各自频谱图,其中采样率、频率、数据长度自选,要求注明; 3、绘制三种信号的均方根图谱; 4、用IFFT回复信号,并显示恢复的正弦信号时域波形图。 二、系统原理 用FFT对信号作频谱分析是学习数字信号处理的重要内容。经常需要进行频谱分析的信号是模拟信号和时域离散信号。频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现频率分辨率是2π/N。 x(n)是一个长度为M的有限长序列,则x(n)的N点离散傅立叶变换为: N?1?2?kn)(nx j?W W NN e?0?n N X(k)=DFT[x(n)]=,k=0,1,...,N-1N?11?kn?)(WXk N N0?n x(n) =IDFT[X(k)]= 逆变换:,k=0,1,...,N-1 但FFT是一种比DFT更加快速的一种算法,提高了DFT的运算速率,为数字信号处理技术应用于各种信号处理创造了条件,大大提高了数字信号处理技术的发展。本实验就是采用FFT,IFFT对信号进行谱分析。 三、程序设计 fs=input('please input the fs:');%设定采样频率 N=input('please input the N:');%设定数据长度 t=0:0.001:1; f=100;%设定正弦信号频率 %生成正弦信号 x=sin(2*pi*f*t); figure(1); subplot(211); plot(t,x);%作正弦信号的时域波形 axis([0,0.1,-1,1]); title('正弦信号时域波形'); z=square(50*t); subplot(212) plot(t,z) axis([0,1,-2,2]); title('方波信号时域波形');grid;
实验名:离散傅里叶变换及其特性验证 一、实验目的 1、掌握离散时间傅立叶变换(DTFT )的计算方法和编程技术。 2、掌握离散傅立叶变换(DFT )的计算方法和编程技术。 3、理解离散傅立叶变换(DFT )的性质并用MA TLAB 进行验证。 二、实验原理与计算方法 1、离散时间傅立叶变换 如果序列x (n )满足绝对可和的条件,即 ∞<∑∞ -∞ =n n x |)(|, 则其离散时间傅立叶变换定义为: ∑∞ -∞ =-= =n n j j e n x n x F e X ωω)()]([)( (1) 假设序列x (n )在N n n n ≤≤1(即不一定在[0, N -1])有N 个样本,要估计下列各点上的X (e j ω): M k k M k ...,2,1,0== , π ω 它们是[0,π]之间的(M +1)个等间隔频点,则(1)式可写成: M k n x e e X N l l kn M j j l ...,2,1,0)()(1==∑=-, πω (2) 将{x (n l )}和{X (e j ωk )}分别排列成向量x 和X ,则有: X=Wx (3) 其中W 是一个(M +1)×N 维矩阵: ? ?? ???=≤≤=-M k n n n e N kn M j ...,2,1,0;1, πW 将{k }和{n }排成列向量,则????????? ? ?-=n k W T M j πexp 在MA TLAB 中,把序列和下标排成行向量,对(3)式取转置得: ? ???? ???? ??-=k n x X T T T M j πexp 其中n T k 是一个N ×(M +1)维矩阵。用MATLAB 实现如下: k=[0:M]; n=[n1:n2]; X=x*(exp(-j*pi/M)).^(n ’*k); 2、离散傅立叶变换 一个有限长序列的离散傅立叶变换对定义为: 10,)()(1 0-≤≤=∑-=N k W n x k X N n nk N (4) 10,)(1 )(1 -≤≤=∑-=-N n W k X N n x N k kn N (5) 以列向量x 和X 形式排列x (n )和X (k ),则式(4)、(5)可写成: X =W N x 可由下面的MA TLAB 函数dft 和idft 实现离散傅立叶变换运算。