2016-02-08 38 views
1

我有兩個信號m(t) = exp(-100*abs(t))c(t) = cos(2*pi*1000*t)。 我需要添加它們,然後使用僅低通濾波器(LPF)和帶通濾波器(BPF)將它們分開並繪製數字。添加信號並使用MATLAB將它們分開

我寫的代碼:

fs = 100*1000; 
ts = 1/fs; 
t = -0.1:ts:0.1-ts; 
No = length(t); 

m = exp(-100*abs(t)); 
c = cos(2*pi*1000*t); 
g = m + c; 

y = abs(g); 

cutoff = 200; 
[a b]= butter(5,2*cutoff*ts); 

z = filter(a,b,y); 

figure(1) 
plot(t,m,t,z); 
legend('Input Signal','Output Signal') 
xlabel('time') 
ylabel('amplitude') 
title('Case Study') 

請注意,我用的LPF [a b] = butter(5,2*cutoff*ts);

的問題是,該地塊被移位了,我想這是因爲直流分量的。你能幫我編輯代碼並修改這個轉變嗎? 我應該使用BPF嗎?如果是,如何?

回答

1

您得到的偏移量來自使用g的abs值。如果不是篩選y,則可以篩選g,然後獲得更好的結果。偏移來源於abs(c)直流分量,因爲這是不超過零爲中心,以及任何低通濾波器將保持該偏移

0

plot命令,減去平均值,這樣

plot(t,m,t,z-mean(z));

希望這是你要找的東西

相關問題