www.gusucode.com > IPCV_Eval_Kit_R2019a_0ce6858工具箱matlab程序源码 > IPCV_Eval_Kit_R2019a_0ce6858/code/demo_files/I1_05_publish_butter.m

    %% 僶僞儚乕僗僼傿儖僞偺愝寁偲僼傿儖僞儕儞僌
% 杮僨儌偼丄嶨壒傪壛偊偨2僩乕儞惓尫攇偵懳偟偰丄僶僞儚乕僗儘乕僷僗僼傿儖僞傪
% 偐偗傞庤弴偲丄僌儔僼偺壜帇壔偺庤弴傪帵偟傑偡丅堦斒揑側僨僕僞儖僼傿儖僞偺
% 揱払娭悢偼埲壓偺昞尰偱昞傢偝傟傑偡丅
% 
% $$ H(z) = \frac{\sum^{N}_{k = 0}b_kZ^{-k}}{1 + \sum^{N}_{k = 1}a_kZ^{-k}} $$  
%% 弶婜壔
clear all, close all, clc

%% 僼傿儖僞儕儞僌懳徾偺怣崋惗惉
Fs = 1000;
t = 0:1/Fs:1;                   % 帪娫儀僋僩儖偺掕媊
sig1 = sin(2*pi*15*t + pi/3);   % 惓尫攇怣崋1偺惗惉
sig2 = sin(2*pi*42*t + pi/5);   % 惓尫攇怣崋2偺惗惉
noise = randn(size(t));         % 嶨壒怣崋偺惗惉
sig = sig1 + sig2 + noise;      % 僼傿儖僞儕儞僌懳徾怣崋

%% 僼傿儖僞愝寁偲摿惈偺壜帇壔
% 僼傿儖僞偺師悢傪7師丄僫僀僉僗僩廃攇悢偱惓婯壔偝傟偨僇僢僩僆僼
% 廃攇悢傪0.1偲偟偨僼傿儖僞傪愝寁偟傑偡丅Fs = 1000[Hz]偺応崌丄
% 僇僢僩僆僼廃攇悢偼丄1000/2 * 0.1 = 50[Hz]偲側傝傑偡丅
[b,a] = butter(7,0.1); % 僶僞儚乕僗僼傿儖僞愝寁
fvtool(b, a) % 僼傿儖僞摿惈偺壜帇壔

%% 僼傿儖僞儕儞僌
out = filter(b,a,sig); % 僼傿儖僞儕儞僌
% 擖椡怣崋偲弌椡怣崋偺帪娫幉攇宍壜帇壔
subplot(2,1,1), plot(t,sig), grid
title('帪娫幉攇宍乮僼傿儖僞儕儞僌慜乯')
subplot(2,1,2), plot(t,out), grid
title('帪娫幉攇宍乮僼傿儖僞儕儞僌屻乯')

%% 僗儁僋僩儖悇掕
% 儘乕僷僗僼傿儖僞偵傛傝丄50[Hz]埲壓偺惉暘偑彍嫀偝傟偰偄傞條巕偑
% 妋擣偱偒傑偡丅
figure, periodogram(sig,[],[],Fs)    % 擖椡怣崋偺僗儁僋僩儖
title('僷儚乕僗儁僋僩儖枾搙悇掕乮僼傿儖僞儕儞僌慜乯')
figure,periodogram(out,[],[],Fs)    % 弌椡怣崋偺僗儁僋僩儖
title('僷儚乕僗儁僋僩儖枾搙悇掕乮僼傿儖僞儕儞僌屻乯')


% Copyright 2014 The MathWorks, Inc.