0
点赞
收藏
分享

微信扫一扫

数字信号处理实验3

小禹说财 2022-04-26 阅读 62
c语言

数字信号处理实验3

实验三程序exp3. m
%用FFT对信号作颓谱分析
clear all; close all
%实验内容(1) =================================================================================
x1n=[ones(1,4)];						%产生序列向量x1(n)=R4(n)
M=8; xa=1:(M/2);xb=(M/2):-1:1;
x2n=[xa,xb];							%产生长度为8的三角波序列x2(n)
x3n=[xb,xa];
X1k8=fft(x1n,8);						%计算x1n的8DFT
X1k16=fft(x1n,16);						%计算xln的16DFT
X2k8=fft(x2n,8);						%计算x1n的8DFT
X2k16= fft(x2n,16);					%计算x1n的16DFT
X3k8=fft(x3n,8);						%计算x1n的8DFT
X3k16=fft(x3n,16);						%计算x1n的16点DFT
%以下绘制幅频特性曲线
subplot(2,2,1); mstem(X1k8);			%绘制8点DFT的幅频特性图
xlabel('w/pi' ); ylabel('幅度');
title('(1a)8点DFT[x_1(n)]'); 
axis([0,2,0,1.2*max(abs(X1k8))])
subplot(2,2,2); mstem(X1k16);			%绘制16点 DFT的幅频特性图
title('(1b)16点DFT[x_1(n)]'); 
xlabel('w/pi'); ylabel('幅度');
axis([0,2,0,1.2*max(abs(X1k16))])
figure(2)
subplot(2,2,1); mstem(X2k8);			%绘制8点 DFT的幅频特性图
title('(2a)8点 DFT[x_2(n)]'); 
xlabel('w/pi'); ylabel('幅度');
axis([0,2,0,1.2*max(abs(X2k8))])
subplot(2,2,2); mstem(X2k16);			%绘制16点DFT的幅频特性图
title('(2b)16点 DFT[x_2(n)]'); 
xlabel('w/pi'); ylabel('幅度');
axis([0,2,0,1.2*max(abs(X2k16))])
subplot(2,2,3) ; mstem(X3k8);			%绘制8点DFT的幅频特性图
title('(3a)8点DFT[x_3(n)]'); 
xlabel('w/pi') ; ylabel('幅度')
axis([0,2,0,1.2 * max(abs(X3k8))])
subplot(2,2,4); mstem(X3k16);			%绘制16点DFT的幅频特性图
title('(3b)16点DFT[x_3(n)]'); 
xlabel('w/pi');ylabel('幅度');
axis([0,2,0,1.2 * max(abs(X3k16))])


%实验内容(2) 周期序列谱分析======================================================================

N=8;n=0:N-1;%FFT的变换区间N=8
x4n=cos(pi*n/4);
x5n=cos(pi*n/4)+cos(pi*n/8);
X4k8=fft(x4n);								%计算x4n的8DFT
X5k8=fft(x5n);								%计算x5n的8DFT
N=16; n=0:N-1;								%FTT的变换区间N=i16
x4n=cos(pi*n/4);
x5n=cos(pi*n/4)+cos(pi*n/8);
X4k16=fft(x4n);								%计算x4n的16DFT
X5k16=fft(x5n);								%计算x5n的16DFT
figure(3)
subplot(2,2,1); mstem(X4k8);				%绘制8点DF丁的辐频特性图
title('(4a)8点DFT[x_4(n)]');
xlabel('W/pi'); ylabel('幅度');
axis([0,2,0,1.2 * max(abs(X4k8))])
subplot(2,2,3); mstem(X4k16);				%绘制16点DFT的幅频特性图
title('(4b)16点 DFT[x_4(n)]'); 
xlabel('w/pi'); ylabel('幅度');
axis([0,2,0,1.2 * max(abs(X4k16))])
subplot(2,2,2); mstem(X5k8);				%绘制8点DFT的幅频特性图
title('(5a)8点DFT[x_5(n)]');
xlabel('w/pi') ; ylabel('幅度');
axis([0,2,0,1.2*max(abs(X5k8))])
subplot(2,2,4); mstem(X5k16);				%绘制16点DFT的幅频特性图
title('(5b)16点DFT[x_5(n)]');
xlabel('w/pi'); ylabel('辐度');
axis([0,2,0,1.2 * max(abs(X5k16))])
%实验内容(3)模拟周期信号谱分析一================================================

figure(4)
Fs=64;T=1/Fs;
N=16; n=0:N-1;								%FFT的变换区间N=16
x6nT=cos(8*pi*n*T)+cos(16 * pi*n * T)+cos(20 * pi * n * T);%x6(t)16点采样
X6k16=fft(x6nT);							%计算x6nT的16DFT
X6k16=fftshift(X6k16);						%将零频率移到频谐中心-
Tp=N*T;F=1/Tp;								%频率分辨率F
k=-N/2:N/2-1;fk=k*F;						%产生16点DFT对应的采样点频率(以零频率为中心)
subplot(3,1,1); stem(fk,abs(X6k16),'.');
box on										%绘制8点DFT的幅频特性图
title('(6a)16|DFT[x_6(nT)]|'); xlabel('f(Hz)'); ylabel('幅度');
axis([-N*F/2-1,N*F/2-1,0,1.2 *max(abs(X6k16))])
N=32; n=0:N-1;								%FFT的变换区间N=16
x6nT=cos(8* pi * n * T)+cos(16 * pi*n* T)+cos(20 * pi * n * T);%x6(t)32点采样
X6k32=fft(x6nT);							%计算x6nT的32DFT
X6k32=fftshift(X6k32);						%将零频率移到频谐中心
Tp=N*T;F=1/Tp;								%频率分辨率F
k=-N/2:N/2-1; fk=k*F;						%产生16点DFT对应的采样点频率(以零颜率为中心)
subplot(3,1,2); stem(fk,abs(X6k32),'.'); 
box on 										%绘制8点DFT的幅频特性图
title('(6b)32|DFT[x_6(nT)]|'); xlabel('f(Hz)'); ylabel('幅度');
axis([-N*F/2-1,N*F/2-1,0,1.2* max(abs(X6k32))])
N=64;n=0:N-1;								%FFT的变换区间N=16
x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%x6(t)64点采样
X6k64=fft(x6nT);							%计算x6nT的64DFT
X6k64=fftshift(X6k64);						%将零频率移到频谱中心
Tp=N*T;F=1/Tp;								%频率分辨率F
k=-N/2:N/2-1; fk=k*F;						%产生16点 DFT对应的采样点频率(以零频率为中心)
subplot(3,1,3); stem(fk,abs(X6k64),'.'); 
box on										%绘制8点DFT的幅濒特性图
title('(6c)64|DFT[x_6(nT)]|'); xlabel('f( Hz)'); ylabel('幅度');
axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k64))])

%自定义脚本函数mstem()================================
function mstem(Xk)
M=length(Xk);
k=0:M-1;
wk=2*k/M;
stem(wk,abs(Xk),'.');
box on;%绘制M点DFT的幅频特性图
xlabel(/π');
ylabel('幅度');
axis([0,2,0,1.2*max(abs(Xk))]);


实验结果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

举报

相关推荐

0 条评论