どうすれば最大振幅値を求められますか?
39 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
以下の両矢印が表す波形の最大振幅の値を求めたいのですが、MATLABではどのようにすればいいのですか。
以下のようにして、信号の包絡線を求めることはできていますが、最大振幅を求める方法を知りたいです。
t = 0:1/1000:3;
q1 = sin(2*pi*7*t).*exp(-t/2);
q2 = chirp(t,30,2,5).*exp(-(2*t-3).^2)+2;
q = [q1;q2]';
plot(t,q)
a3 = gca;
a3.XTick = sort([-3000:1000:3000 lagDiff]);
envelope(q,300)
0 commentaires
Plus de réponses (1)
horizon
le 22 Avr 2019
2 commentaires
Yoshio
le 22 Avr 2019
Modifié(e) : Yoshio
le 22 Avr 2019
こちらに関連する解析例があります。
今の場合
[Ppks,Plocs] = findpeaks(data)でプラス側のピーク値とその場所が求められるので、-data側にも行い、
[Mpks,Mlocs] = findpeaks(-data)
を得ます。
このPlocsとMlocsを使うと可能かと思います。ただし、これはhorizon さんが両側最大振幅をどう定義したいか、に寄ります。最大ピークと最小ピークを結ぶ波形が連続していること、とか、ピーク位置の差がXXサンプル以内等です。これをプログラム化する必要がありますので、horizon さんが分析したい信号に関する知識が必要です。
「プラス側のピークとマイナス側のピークが別の場所で見つかった場合、その差をとっても振幅は求められませんよね?」
これも、両側最大振幅をどう定義したいかに寄ると思います。
Voir également
Catégories
En savoir plus sur 記述統計 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!