給出課程第二章的程序示例,供大家學習。
%%%%% 信號濾波前后頻譜特性比較程序 %%%%%%%
%%%%% File: signal_fliter_sim2.m %%%%%
%%% date: 2016-10-24 author: 算法工匠 %%%
%%% 程序說明
% 本程序完成多種濾波器設計以及濾波的等效實現過程。
% 比較濾波器的兩種設計方法的差異。
clear all;
close all;
%%************ 程序主體 *****************%%
format long;
%************* Preparation part *******************
fs = 2000; % frequency sample
fre1 = 10; % Hz
fre2 = 500; % Hz
time = [1:1000];
%%%%%% 信號的產生 %%%%%%%%%%
%***************** Filter initialization ************************
sin_signal1 = sin(2*pi*fre1.*time/fs);
% 產生正弦信號1
sin_signal2 = sin(2*pi*fre2.*time/fs);
% 產生正弦信號2
sin_signal = sin_signal1 + sin_signal2;
figure(1)
plot((sin_signal),'-*');
figure(2)
plot(abs(fft(sin_signal)),'-*');
aaa = 1; % 斷點調試
%%%%% 濾波器設計 %%%%%
% 設計一個低通的FIR濾波器,能夠濾除900hz信號。
fir_order = 128;
fir_low_filter = fir1(fir_order,0.2); % 窗函數法
% fir_low_filter = fir1(fir_order, 0.2);
fir_low_filter1 = fir1(fir_order,0.2,'low',chebwin(129,100));
% 窗函數法 使用切比雪夫窗 100為帶外抑制dB值
fre = [0 0.2 0.3 1];
amp = [1 1 0 0];
fir_low_filter2 = firpm(fir_order,fre,amp);
% 最佳逼近法
figure(3)
freqz(fir_low_filter );
figure(4)
freqz(fir_low_filter1 );
title('使用切比雪夫窗函數');
figure(5)
freqz(fir_low_filter2 );
title('使用最佳逼近法設計');
aaa = 1; % 斷點調試
% 實現濾波
% filter signal
filter_sin_signal = filter(fir_low_filter,1,sin_signal); % 實現濾波
for i = 5:length(sin_signal)
filter_sin_signal1(i) = sin_signal(i)*fir_low_filter(1) + sin_signal(i-1)*fir_low_filter(2) +sin_signal(i-2)*fir_low_filter(3) +sin_signal(i-3)*fir_low_filter(4) +sin_signal(i-4)*fir_low_filter(5) ;
end
figure(6)
plot(abs(fft(filter_sin_signal)),'-*');
figure(7)
plot(filter_sin_signal1,'-*');
figure(8)
plot(filter_sin_signal,'-*');
aaa = 1; % 斷點調試
%**************** end of file **********************
%%% 結論
% 使用不同的窗來設計濾波器進行性能比較。
% 比較不同的濾波器設計方法帶來的差異。
% 了解濾波的等效過程,分解為乘累加的過程。
休息一下!
201801記錄:
本來已經寫完了本篇系列文章,但公眾號里面顯示的格式不正確。雖然后臺顯示程序格式很工整,所以還是決定用圖片的方式來再次展示程序!
因此,將程序轉換為圖片后,同學們就能在電腦或者手機上看到工整的程序了。
程序中的斷點調試語句很有用,能夠幫助大家查找和定位程序的問題。
此時,
同學們還掌握了窗函數法嗎?
最佳逼近法呢?
如果還不清楚,
請即刻去百度問問!
仿真課程目的就是為了將學到的知識用于實際,用仿真的方式能夠強化知識點的消化。希望大家能夠自己動手寫一遍程序。
請謹記!
動手寫一遍,
調試一下!
-
濾波器
+關注
關注
160文章
7728瀏覽量
177685 -
程序
+關注
關注
116文章
3777瀏覽量
80851 -
斷點
+關注
關注
0文章
12瀏覽量
7703
原文標題:數字信號處理之信號處理仿真 第二章 濾波器設計及函數編寫(2)
文章出處:【微信號:gh_30373fc74387,微信公眾號:通信工程師專輯】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論