⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cal_k.m

📁 Goertzel算法是DTMF信号检测的核心
💻 M
字号:
function k = cal_k(Num_of_samples,Fs,Fm);
%
%
%            Function to calculate the DFT Coeff index array
%
%  Author: Pranam Janney           Date: 15/05/04     Time: 17:50          
%  Email: pranamjanney@yahoo.com
%
%  Usage:
%          k = cal_k(Num_of_samples,Fs,Fm);
% Inputs:
%          Num_of_samples = Number of samples
%          Fs = sampling frequency
%          Fm = array of frequencies for which DFT coeff 
%               has to be calculated
% Outputs:
%         k = array of DFT coeff
%
%
len_Fm = length(Fm);
k1(1:len_Fm) = ((Fm(1:len_Fm) * Num_of_samples)/Fs);% for N = 205

%  the K values are fine is "CEIL" except for two "25" and"35" which has to be "FLOOR"   
for i = 1 : len_Fm
    if ( ceil(k1(i)) - k1(i) ) >= 0.5    % if the diff between Ceil and real value 
        k(i) = floor(k1(i));             % is less than 0.5 -> ceil the value
    else                                 %  else floor it 
        k(i) = ceil(k1(i));
    end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -