《DSP using MATLAB》Problem 6.17
阿新 • • 發佈:2018-11-17
程式碼:
%% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output Info about this m-file fprintf('\n***********************************************************\n'); fprintf(' <DSP using MATLAB> Problem 6.17 \n\n'); banner(); %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %format long; format short; fprintf('\n FIR filter DIRECT-form: \n'); k = [0:6]; b = exp(-0.9*abs(k-3)) a = 1.0 fprintf('\nConvert DIRECT-form to CASCADE-form : \n'); [b0, Bc, Ac] = dir2cas(b, a) fprintf('\nConvert TF-form to SOS-form : \n'); [sos, g] = tf2sos(b, a) % ---------------------------------------------------------- % NOTE: linear-phase can not use LATTICE-form % ---------------------------------------------------------- fprintf('\nConvert DIRECT-form to All-Zero LATTICE-form : \n'); [Klc] = dir2latc(b) fprintf('\nConvert DIRECT-form to FREQUENCY-SAMPLE-form : \n'); [Cfs, Bfs, Afs] = dir2fs(b) % ----------------------------------------- % START check % ----------------------------------------- n = [0:7]; delta = impseq(0, 0, 7) %format long format short hcas = casfiltr(b0, Bc, Ac, delta) %hltc = latcfilt(Klc, delta) %hladr = ladrfilt(Klr, Clr, delta) hdir = filter(b, a, delta) % ------------------------------------------- % END check % -------------------------------------------
執行結果:
直接結構形式係數
串聯結構形式係數: