supress high amplitude signal and only keep low amplitude

6 ビュー (過去 30 日間)
Rahul
Rahul 2013 年 3 月 4 日
i have a continuous positive signal which has a wave of high amplitude followed by a low aplitude i want to supress the high amplitude wave completely and only keep low amplitude signal
  5 件のコメント
Youssef  Khmou
Youssef Khmou 2013 年 3 月 5 日
編集済み: Youssef Khmou 2013 年 3 月 5 日
hi,@Wayne and @Juan : the Amplitudes are Completely added only if the signals have the same Frequency and same phase .
I reproduce Wayne s example ( modified ) :
t = 0:0.001:1-0.001;
x = 2*cos(2*pi*100*t);
y = 4*cos(2*pi*100*t-pi/8);
z = x+y;
plot(t,z)
x and y have the same Freq, but y contains a delay phase (pi/8) then Max(Z)=5.69 not 6 v .
Juan Camilo Medina
Juan Camilo Medina 2013 年 3 月 5 日
編集済み: Juan Camilo Medina 2013 年 3 月 5 日
OK, if the phases are different, the result is not exactly the same wave with amplitude equal to the sum of the other two waves. But still, the result is a "single" wave with the same frequency but shifted and different amplitude. If that is what you have, try a Fourier type sine-cosine basis functions decomposition:
t = 0:0.001:1-0.001;
a=5; phi=-1/8; f=10;
x = a*sin(2*pi*f*t+phi); % origial"mixed" wave
figure(1); clf; plot(t,x); hold on;
% decomposition into fourier basis functions
y = (a*sin(pi/2+phi))*sin(2*pi*f*t);
z = (a*sin(phi))*cos(2*pi*f*t);
plot(t,y+z,'--r')

サインインしてコメントする。

採用された回答

Juan Camilo Medina
Juan Camilo Medina 2013 年 3 月 5 日
If they oscillate at different frequencies, you can create a high-pass filter, just read the help for the functions
[B,A] = butter(N,Wn,'high'); % this is just one of many filters types
Y = filter(B,A,X); % where X is your signal

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSignal Analysis についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by