- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
A 1
mA A
A 53 mA A
A A2151500084 A _
A Null A
A m
B
M 0. h
e-0
m
m6316:5239 5
Bu
p
m
TA
function [ num_get ] = getPhoneNumber( file_name )
%num_get = getPhoneNumber( file_name )
% Decode a phone nomber from a given audio sound using FFT
% For example:
% getPhoneNumber( wav' )
% getPhoneNumber( wav' )
% Created by Jingjie Li from Xi'an Jiaotong University, New York
University
% Mail: jingjie.li@nyu.edu
%
%
% import audio wave from file
[y,fs] = audioread(file_name);
% DTMF list
DTMF_Num = { '1','2','3','4','5','6','7','8','9','*','0','#'};
DTMF_FQ = [697,1209;697,1336;697,1477;770,1209;770,1336;770,1477;...
852,1209;852,1336;852,1477;941,1209;941,1336;941,1477];
freqlist = unique(reshape(DTMF_FQ,[24,1]));
%% Creating FFT to make a time-frequency map
window = 0.2*fs;
y = [zeros(window,1);y;zeros(window,1)]; % give some blank signal to
aviod bug
n_windows = length(y)/window;
n = 2^nextpow2(window);
f = fs*(0:(n/2))/n;
% only pick up frequency < 1500Hz
f = f(f<1500);
index = find(f>600);
P_sum=zeros(length(f(index)),round(n_windows));
f = f(f>600);
freqlist_ROI = f*0+1;
for i=1:length(freqlist)
freqlist_ROI(find(f<freqlist(i)+10 & f>freqlist(i)-10))=0;
end
for i=1:n_windows
Y = fft(y((i-1)*window+1:i*window),n);
P = abs(Y/n);
P_temp = P(index)';
P_temp(freqlist_ROI==1) = 0;
P_sum(:,i) = P_temp;
end
%% pick up only the unrepeat one
time_energy = max(P_sum);
m_t=mean(time_energy);
time_energy(time_energy<m_t)=0;
time_energy(time_energy>m_t)=1;
文档评论(0)