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

📄 goertzel_algo.m

📁 Goertzel算法是DTMF信号检测的核心
💻 M
字号:
function  Goertzel_array = goertzel_algo (sig_array,K,Num_of_samples);
%
%
%            Function to implement Goertzel's algorithm
%
%   Author: Pranam Janney           Date: 15/05/04     Time: 17:50          
%   Email: pranamjanney@yahoo.com
%
% Usage :
%        Goertzel_array = goertzel_algo (sig_array,K,Num_of_samples);
% Inputs :
%        sig_array  = combination of two sinesoids 
%        Num_of_samples =  Number of samples
%        

 fst_stg(1) = 0;           % First stage output array 1 and 2 have been initialised
 fst_stg(2) = 0;           % to '0' because there is no negative array
 
 lst_stg(1)=0;
 lst_stg(2)=0;
 
 for v = 3:Num_of_samples                 % the recursive function
         fst_stg(v)= sig_array(v) + (2 * cos(( 2 * pi * K) / Num_of_samples)* fst_stg(v-1)) - fst_stg(v-2);
         sec_stg(v) = fst_stg(v) - ( fst_stg(v-1) * exp((-1) * 2 * i * K ));
         lst_stg(v) = abs(sec_stg(v)); 
         
  end
  Goertzel_array = lst_stg;
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

⌨️ 快捷键说明

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