文档介绍:MATLAB仿真实验报告
院系:电子工程学院
姓名:王力
班级:2013211207
学号:2013211006
实验一:数字信号的FFT分析
实验内容及要求
(1) 离散信号的频谱分析:
设信号
和 ,谱线 的幅度很小,请选择合适的序列长度 N 和窗函数,用 DFT 分析其频谱,要求得到清楚的三根谱线。
(2) DTMF 信号频谱分析P218 -225 双音)用计算机声卡采用一段通信系统中电话双音多频(DTMF)拨号数字 0~9的数据,采用快速傅立叶变换(FFT)分析这10个号码DTMF拨号时的频谱。
实验分析
要得到清晰的三根谱线,用matlab内置函数fft对时域信号进行快速傅里叶变换,需要选好变换点数N,以避免出现频谱模糊现象。程序中选择N=1000
,在作图时需要对坐标比例进行控制。使用axis函数实现。
代码及注释
频谱分析:
N = 1000; % Length of DFT
n = [0:1:N-1];
xn = *cos(*n*pi)+sin(*n*pi)-cos(*n*pi-pi/4);
Xk = fft(xn,N);
xn1=*cos(*n*pi);
Xk1 = fft(xn1,N);
xn2=sin(*n*pi);
Xk2 = fft(xn2,N);
xn3=-cos(*n*pi-pi/4);
Xk3 = fft(xn3,N);
k=[0:1:N/2];
w=2*pi*k/N;
subplot(2,1,1);
stem(w/pi,abs(xn(1:1:(N/2+1))),'.');
title('x(n)');xlabel('w/pi');
axis([,,0,4]);
subplot(2,1,2);stem(w/pi,abs(Xk(1:1:(N/2+1))),'r.');
title('DFT *cos(*n*pi)+sin(*n*pi)-cos(*n*pi-pi/4)');
xlabel('w/pi');axis([,,0,4]);
结果截图:
DTMF频谱分析:
clear; close all;
column=[1209,1336,1477,1633];
line=[697,770,852,941];
fs=10000;
N=1024;
ts=1/fs;
n=0:N-1;
f=0:fs/N:fs/N*(N-1);
key=zeros(16,N);
key(1,:)=cos(2*pi*column(1)*n*ts)+cos(2*pi*line(1)*n*ts);
key(2,:)=cos(2*pi*column(2)*n*ts)+cos(2*pi*line(1)*n*ts);
key(3,:)=cos(2*pi*column(3)*n*ts)+cos(2*pi*line(1)*n*ts);
key(4,:)=cos(2*pi*column(1)*n*ts)+cos(2*pi*line(2)*n*ts);
key(5,:)=cos(2*pi*column(2)*n*ts)+cos(2*pi*line(2)*n*ts);
key(6,:)=cos(2*pi*column(3)*n*ts)+cos(2*pi*line(2)*n*ts);
key(7,:)=cos(2*pi*column(1)*n*ts)+cos(2*pi*line(3)*n*ts);
key(8,:)=cos(2*pi*column(2)*n*ts)+cos(2*pi*line(3)*n*ts);
key(9,:)=cos(2*pi*column(3)*n*ts)+cos(2*pi*line(3)*n*ts);
key(10,:)=cos(2*pi*column(2)*n*ts)+cos(2*pi*line(4)*n*ts);
figure;
for i=1:10
subplot(4,4,i),plot(f,abs(fft(key(i,:))))
grid;
end
结果截图:
遇到的问题和解决方法
在进行第一题的DFT变换时,不知道该选取多大的取样点数N才能得到清晰的三根谱线。通过计算确定数字信号的最小为1000周期才选定了N=1000。
实验二:DTMF 信号的编码和解码
实验内容及要求
1)把您的联系电话号码通过DT