MATLAB随机信号统计特征
生活随笔
收集整理的這篇文章主要介紹了
MATLAB随机信号统计特征
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
% 功能:1. 生成一標準差為1,均值為0,成正太分布(高斯分布)的隨機噪聲,
% 2. 求其概率密度函數p,均值mu,方差sigmax2,標準差sigmax,均方值x2_,有效值RMS,
% 3. 滿足高斯分布的隨機噪聲,采用示波器觀察時,用峰峰值估計標準差;對零均值為0時,標準差=有效值
% 對零均值的噪聲,均方值 = 方差+均值的平方=方差,
% 又有效值= sqrt(均方值),標準差= sqrt(方差),so 有效值=標準差% 各物理意義如下:
% 方差:反映了隨機噪聲的起伏程度
% 均方值:反映了隨機噪聲的歸一化功率(隨機電壓或電流在1歐姆電阻上消耗的功率,單位 V2 or A2)
% 編輯者:lily
% 日期:2019,4,1clc;
clear;
close all;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mu = 0; % 均值
sigmax = 1; % 標準差
m =1;
n =1e4;
x = normrnd(mu,sigmax,m,n);% 生成均值mu,標準差為sigmax,m行n列的正態分布的隨機噪聲
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 求均值mu
n = length(x);
mu = (1/n).*sum(x);
% mu = mean(x);%調用MATLAB工具% 求方差sigmax2,除以n
sigmax2 = (1/n).*sum((x-mu).^2);
% sigmax2 = var(x,1);%調用MATLAB工具% 求方差sigmax2.除以n-1
% sigmax2 = (1/(n-1)).*sum((x-mu).^2);
% sigmax2 = var(x);%調用MATLAB工具% 求標準差sigmax
sigmax = sqrt(sigmax2);% 求均方值
x2_ = (1/n)*sum(x.^2);% 求有效值
RMS = sqrt(x2_ );% 求概率密度函數P
P = 1/(sigmax2*sqrt(2*pi)).*exp(-(x-mu).^2/(2*sigmax2));%公式
p = normpdf(x);% 調用MATLAB工具
subplot(2,1,1);plot(x,P);title('公式');
subplot(2,1,2);plot(x,p);title('調用MATLAB工具');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 驗證:當x = 均值mu時,p有最大值 = 1/(sigmax2*sqrt(2*pi))
p_max = 1/(sigmax2*sqrt(2*pi));%最大值
max(P); %最大值,與上式相等
[m,index]=max(P); % 找到p最大值時的索引,m最大值,index索引號
x_index = x(index); % 找到index對應的x值str=['x = ' num2str(x_index) ' 對應的最大值p = ' num2str(m)];
disp(str);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 采用示波器觀察時,用峰峰值估計標準差;對零均值為0時,標準差=有效值
Vpp = max(x)-min(x);
% Vpp =range(x); % 調用MATLAB工具
sigmax_ = (Vpp)/6.6; % 估計標準差fprintf('Vpp估計標準差sigmax_ = %s \n 計算標準差sigmax = %d', sigmax_, sigmax);
總結
以上是生活随笔為你收集整理的MATLAB随机信号统计特征的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c 语言学习:基本操作,数组,字符串,指
- 下一篇: MATLAB之GUI学习经典举例