diff options
author | bgtushar | 2017-11-23 19:30:44 +0530 |
---|---|---|
committer | bgtushar | 2017-11-23 19:30:44 +0530 |
commit | e9ab4b0b52db51be30f4ac3d07673c20b48da13c (patch) | |
tree | 8f4ce37de0a028350125acfce71cfe686e79ef24 /macros/pei_tseng_notch.sci | |
parent | 14ccddd315f0b97a78e965df1587835ac542e35a (diff) | |
parent | f66d58166a67d6bc89b2a674119410ddaee53d46 (diff) | |
download | FOSSEE-Signal-Processing-Toolbox-e9ab4b0b52db51be30f4ac3d07673c20b48da13c.tar.gz FOSSEE-Signal-Processing-Toolbox-e9ab4b0b52db51be30f4ac3d07673c20b48da13c.tar.bz2 FOSSEE-Signal-Processing-Toolbox-e9ab4b0b52db51be30f4ac3d07673c20b48da13c.zip |
Merge
Diffstat (limited to 'macros/pei_tseng_notch.sci')
-rw-r--r-- | macros/pei_tseng_notch.sci | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/macros/pei_tseng_notch.sci b/macros/pei_tseng_notch.sci new file mode 100644 index 0000000..1de0fcd --- /dev/null +++ b/macros/pei_tseng_notch.sci @@ -0,0 +1,44 @@ +function [b, a] = pei_tseng_notch (frequencies, bandwidths) + +//Return coefficients for an IIR notch-filter. +//Calling Sequence +//[b, a] = pei_tseng_notch (frequencies, bandwidths) +//b = pei_tseng_notch (frequencies, bandwidths) +//Parameters +//frequencies: filter frequencies +//bandwidths: bandwidths to be used with filter +//Description +//This is an Octave function. +//It return coefficients for an IIR notch-filter with one or more filter frequencies and according bandwidths. The filter is based on a all pass filter that performs phasereversal at filter frequencies. +//This leads to removal of those frequencies of the original and phase-distorted signal. +//Examples +//sf = 800; sf2 = sf/2; +//data=[[1;zeros(sf-1,1)],sinetone(49,sf,1,1),sinetone(50,sf,1,1),sinetone(51,sf,1,1)]; +//[b,a]=pei_tseng_notch ( 50 / sf2, 2/sf2 ) +//b = +// +// 0.99213 -1.83322 0.99213 +// +//a = +// +// 1.00000 -1.83322 0.98426 + +funcprot(0); +lhs = argn(1) +rhs = argn(2) +if (rhs < 2 | rhs > 2) +error("Wrong number of input arguments.") +end + +select(rhs) + + case 2 then + if(lhs==1) + b = callOctave("pei_tseng_notch", frequencies, bandwidths) + elseif(lhs==2) + [b, a] = callOctave("pei_tseng_notch", frequencies, bandwidths) + else + error("Wrong number of output argments.") + end + end +endfunction |