supress high amplitude signal and only keep low amplitude
2 ビュー (過去 30 日間)
古いコメントを表示
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
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
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
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Signal Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!