作者zxvc (修行)
看板comm_and_RF
標題[問題] MATLAB模擬Analog filter
時間Sun Mar 29 15:42:42 2009
我想要在MATLAB中模擬一個類比lowpass filtering的效果。
我的作法是把continuous-time的sine波作sampling與discrete-time filter
作convoultion。
以下是我的MATLAB code:
------------------------------------------------------------------
% Initialization
clear; clc;
% Channel bandwidth.
ChBw = 7.5e3;
% Continuous-time channel impulse response (low pass filter).
ChanResC = @(t) exp(-t*ChBw)*ChBw;
% Number of discrete-time filter taps.
Taps = 20;
% Frequency of the test wave.
fc = 300;
% Sampling frequency
fs = fc*64;
% Discrete-time channel impulse response.
ChanRes = ChanResC([0:Taps-1]/fs)/fs;
% Test wave.
x = sin(2*pi*fc*[0:1/fs:6/fc]);
% Filtering the test wave.
y = conv(x, ChanRes);
stem(y);
------------------------------------------------------------------
但convolution的絕對值最大值超過1,不知這是不是合理的現象?
或許是因為我沒有把y轉回continuous-time signal的緣故!?
那請問我要如何把y轉回continuous-time?
(我用Simulink跑過這個analog filter,的確輸出不會超過1。
其實可以把這個filter看作一個RC電路,它的gain不會超過1。)
--
西方三聖:
http://p8.p.pixnet.net/albums/userpics/8/3/553683/1193661731.jpg
《佛說阿彌陀經》
http://web.cc.ncu.edu.tw/~93501025/amtf.doc
十一面觀音咒:
http://file.buda.idv.tw/music/DBZFY04.mp3
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.220.219
※ 編輯: zxvc 來自: 140.115.220.219 (03/29 16:15)
※ 編輯: zxvc 來自: 140.115.220.219 (03/29 16:16)
1F:→ paullai:原PO晚安 @@> 59.115.170.60 03/29 20:52
2F:→ zxvc:Hi,樓上。140.115.220.219 03/29 21:10