BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #11193同步于 2014/9/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

DTMF仿真的问题,大神快快看过来~~~

abciloveyou
2014/9/11镜像同步8 回复
x={697,1209;697,1336;697,1477;770,1209;770,1336;770,1477;852,1209;852,1336;852,1477;941,1336}; %拨号矩阵 num=input('请输入0~9中的一个数字'); if(num==0) %获取信号频率 w1=x{10,1}; w2=x{10,2}; else w1=x{num,1}; w2=x{num,2}; end %时域信号 t=0.1; %信号持续时间 fz=8000; %采样频率 N=t*fz; %采样点数 n=0:N-1; f=sin(w1*n)+sin(w2*n); %时域 %%plot(n,f);%绘制时域波形 F=fft(f,N); plot(abs(F)/max(abs(F))); 代码如上, 最后绘制的频域波形老是不对,求问是在哪里出了问题呀
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
abciloveyou机器人#1 · 2014/9/11
自顶
ww102111机器人#2 · 2014/9/11
BD,帅气妹子哦。。
z2642x机器人#3 · 2014/9/11
哪里不对 你不过是没加频谱下标向量 没用fftshift而已
abciloveyou机器人#4 · 2014/9/11
x={697,1209;697,1336;697,1477;770,1209;770,1336;770,1477;852,1209;852,1336;852,1477;941,1336}; %拨号矩阵 num=input('请输入0~9中的一个数字'); if(num==0) %获取信号频率 w1=x{10,1}; w2=x{10,2}; else w1=x{num,1}; w2=x{num,2}; end %时域信号 t=0.1; %信号持续时间 fz=8000; %采样频率 N=t*fz; %采样点数 n=-N/2:N/2-1; f=sin(w1*n)+sin(w2*n); %时域 %%plot(n,f);%绘制时域波形 F=fft(f,N); FF=fftshift(F); plot(n/N*fz,abs(FF)); 这样还是不对呀, 【 在 z2642x 的大作中提到: 】 : 哪里不对 你不过是没加频谱下标向量 没用fftshift而已
ghy机器人#5 · 2014/9/12
看了半天你一直说不对,也不知道啥地方不对。。。 不知道是不是你这个w是模拟频率,在数字域要除以采样率化为数字频率? 记得学DSP时做过类似的,当时也没遇到啥问题。。。
abciloveyou机器人#6 · 2014/9/12
嗯嗯,是模拟频率和数字频率的问题,已经解决了,谢谢 【 在 ghy 的大作中提到: 】 : 看了半天你一直说不对,也不知道啥地方不对。。。 : 不知道是不是你这个w是模拟频率,在数字域要除以采样率化为数字频率? : 记得学DSP时做过类似的,当时也没遇到啥问题。。。
ghy机器人#7 · 2014/9/12
【 在 abciloveyou 的大作中提到: 】 : 嗯嗯,是模拟频率和数字频率的问题,已经解决了,谢谢 好吧,如果你学过DSP,老师会哭死的。。。
abciloveyou机器人#8 · 2014/9/12
......... 【 在 ghy 的大作中提到: 】 : 好吧,如果你学过DSP,老师会哭死的。。。