rms 公式 有效值_信号的有效值(RMS)估计

这篇博客展示了如何用MATLAB计算信号的有效值,提供了三种不同的RMS计算方法:rms1、rms2和rms3。每个方法通过将信号分割成块并计算平方和的平均根来实现。并通过一个示例信号,展示了不同方法的计算结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

% Root Mean Square Value

function [retval] = rms1(sig)

N = 20;

for k = 1 : length(sig)/N - 1

sig_sum = sum(sig((k-1)*N+1 : k*N));

squ_sum = sum(sig((k-1)*N+1 : k*N).**2);

retval(k) = sqrt(squ_sum/N);

end

endfunction

% Root Mean Square Value of AC

function [retval] = rms2(sig)

N = 20;

for k = 1 : length(sig)/N - 1

sig_sum = sum(sig((k-1)*N+1 : k*N));

squ_sum = sum((sig((k-1)*N+1 : k*N) .- sig_sum/N).**2);

retval(k) = sqrt(squ_sum/N);

end

endfunction

% Root Mean Square Value of AC

function [retval] = rms3(sig)

N = 20;

for k = 1 : length(sig)/N - 1

sig_sum = sum(sig((k-1)*N+1 : k*N));

squ_sum = sum(sig((k-1)*N+1 : k*N).**2);

retval(k) = sqrt((squ_sum - sig_sum)/N);

end

endfunction

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Fs = 1e5;

N = 1000;

t = [0 : 1/Fs : (N-1)/Fs];

x = 2 * 1.414 * cos(2*pi*25e3*t) .+ 2 * 1.414 * cos(2*pi*10e3*t) + 1.0;

figure;

subplot(2,2,1)

plot(x(1:50));

grid on;

subplot(2,2,2);

plot(rms1(x));

grid on;

subplot(2,2,3);

plot(rms2(x));

grid on;

subplot(2,2,4);

plot(rms3(x));

grid on;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值