通过matlab产生wav的白噪声
- 格式:pdf
- 大小:128.88 KB
- 文档页数:2
基于MATLAB有噪声语音信号处理一设计内容选择一个语音信号作为分析的对象,或录制一段各人自己的语音信号,对其进行频谱分析;利用MATLAB中的随机函数产生噪声加入到语音信号中,模仿语音信号被污染,并对其进行频谱分析;设计FIR数字滤波器,并对被噪声污染的语音信号进行滤波,分析滤波后信号的时域和频域特征,回放语音信号。
二设计的具体实现1语音信号的时频分析利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量。
再对其进行采样,记住采样频率和采样点数。
下面介绍wavread 函数几种调用格式。
(1)y=wavread(file)功能说明:读取file所规定的wav文件,返回采样值放在向量y中。
(2)[y,fs,nbits]=wavread(file)功能说明:采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。
接下来,对语音信号kalong.wav进行采样。
其程序如下:[y,fs,nbits]=wavered (‘kalong’);把语音信号加载入Matlab 仿真软件平台中然后,画出语音信号的时域波形,再对语音信号进行频谱分析。
MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,其调用格式如下:Xk=fft(xn,N)参数xn为被变换的时域序列向量,N是DFT变换区间长度,当N大于xn 的长度时,fft函数自动在xn后面补零。
当N小于xn的长度时,fft函数计算xn 的前N个元素,忽略其后面的元素。
在本次设计中,我们利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。
其程序如下:[x,fc,nbits]=wavread ('kalong.wav');sound(x,fc,nbits); %回放语音信号N=length(x); %求出语音信号的长度t=0:1/fc:(size(x)-1)/fc;X=abs(fft(x,N)); %傅里叶变换X=X(1:N/2);f=fc/N*(0:1:(N/2)-1);figure(1)subplot(2,1,1);plot(t,x);title('原始信号波形');xlabel('s');subplot(2,1,2);plot(f,abs(X));%可见声音信号频谱在0~4e3范围之内程序结果如下图:24681012-0.2-0.100.10.2原始信号波形s02000400060008000100001200050010001500原始信号频谱Hz幅度2 语音信号加噪与时谱分析在本次设计中,我们是利用MA TLAB 中加入单频率噪声到语音信号中,模仿语音信号被污染,并对其频谱分析。
matlab 白噪声功率谱白噪声是一种具有平坦功率谱密度的信号,即在所有频率上具有相同的能量。
在MATLAB中,我们可以使用一些内置函数来生成白噪声信号的功率谱密度。
首先,我们可以使用`wgn`函数来生成一个特定长度和功率的白噪声信号。
例如,以下代码将生成一个长度为1024的白噪声信号:matlab.fs = 1000; % 采样频率。
T = 1/fs; % 采样间隔。
t = 0:T:1-T; % 时间向量。
x = wgn(length(t), 1, 0); % 生成功率为0的白噪声信号。
接下来,我们可以使用`pwelch`函数来计算白噪声信号的功率谱密度估计。
`pwelch`函数可以对信号进行傅立叶变换,并计算出每个频率点上的功率值。
例如,以下代码将计算白噪声信号的功率谱密度估计:matlab.[pxx, f] = pwelch(x, [], [], [], fs); % 计算白噪声信号的功率谱密度估计。
plot(f, 10log10(pxx)); % 绘制功率谱密度图。
xlabel('Frequency (Hz)'); % x轴标签。
ylabel('Power/Frequency (dB/Hz)'); % y轴标签。
title('Power Spectral Density of White Noise'); % 图标题。
在这段代码中,我们使用`pwelch`函数计算了白噪声信号的功率谱密度估计,并使用`plot`函数绘制了功率谱密度图。
这样我们就可以清晰地看到白噪声在所有频率上具有均匀的功率分布。
除了使用`pwelch`函数,还可以使用`periodogram`函数来计算白噪声信号的功率谱密度估计。
这两种方法都可以用来分析白噪声信号的频谱特性。
总之,MATLAB提供了丰富的函数和工具,可以帮助我们生成白噪声信号并分析其功率谱密度,从而更好地理解和处理白噪声信号的特性。
通信系统建模与仿真实验一、高斯白噪声的matlab实现要求:样本点:100 1000标准差:0.2 2 10均值:0 0.2白噪声如果噪声的功率谱密度在所有的频率上均为一常数,即P n(f)f(八 f :),(W/HZ)式中:n0为常数,责成该噪声为白噪声,用n(t)表示。
高斯白噪声的matlab实现1样本点为1000、均值为0、标准差为0.2时,高斯白噪声分布为下图所示:程序如下所示:% White backgro und noisclear all f = 1:1:1000;for i = 1:le ngth(f)K = (0.2) * randn(1,1) - 0;P(i) = 10.A(K - 3.95*(10人-5)*慣));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft));plot(ti,realx2)程序如下所示:% White backgro und noisclear all f = 1:1:1000;for i = 1:le ngth(f)K = (2) * randn(1,1) - 0;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft)); plot(ti,realx2)II ■■H I I I I ■■D n.1 02 03 0.4 0.5 DG 07 D.S D.9程序如下所示:% White backgro und noisclear allf = 1:1:1000;for i = 1:le ngth(f)K = (10) * randn (1,1) - 0;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft));plot(ti,realx2)程序如下所示:% White backgro und noisclear all f = 1:1:1000;for i = 1:le ngth(f)K = (0.2) * randn(1,1) - 10;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft)); plot(ti,realx2)程序如下所示:% White backgro und noisclear all f = 1:1:1000;for i = 1:le ngth(f)K = (2) * randn(1,1) - 10;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft)); plot(ti,realx2)X 1Q13程序如下所示:% White backgro und noisclear allf = 1:1:1000;for i = 1:le ngth(f)K = (10) * randn (1,1) - 10;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft)); plot(ti,realx2)A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft));plot(ti,realx2)程序如下所示:% White backgro und noisclear all f = 1:1:100;for i = 1:le ngth(f)K = (0.2) * randn(1,1) - 0;P(i) = 10.A (K - 3.95*(10A-5)*f(i));8•样本点为100、均值为0、标准差为2时,高斯白噪声分布为下图所示:程序如下所示:% White backgro und noisclear all f = 1:1:100;for i = 1:le ngth(f)K = (2) * randn(1,1) - 0;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft));plot(ti,realx2)9. 样本点为100、均值为0、标准差为10时,高斯白噪声分布为下图所示:程序如下所示:% White backgro und noisclear all f = 1:1:100;for i = 1:le ngth(f)K = (10) * randn (1,1) - 0;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft));plot(ti,realx2)程序如下所示:% White backgro und noisclear all f = 1:1:100;for i = 1:le ngth(f)K = (0.2) * randn(1,1) - 10;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft)); plot(ti,realx2)程序如下所示:% White backgro und noisclear allf = 1:1:100;for i = 1:le ngth(f)K = (2) * randn(1,1) - 10;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft)); plot(ti,realx2)A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft));plot(ti,realx2)程序如下所示:% White backgro und noisclear all f = 1:1:100;for i = 1:le ngth(f)K = (10) * randn (1,1) - 10;P(i) = 10.A (K - 3.95*(10A-5)*f(i));。
matlab中给信号加噪声的方法在信号处理中经常需要把噪声叠加到信号上去,在叠加噪声时往往需要满足一定的信噪比,这样产生二个问题,其一噪声是否按指定的信噪比叠加,其二怎么样检验带噪信号中信噪比满足指定的信噪比。
在MATLAB中可以用randn产生均值为0方差为1的正态分布白噪声,但在任意长度下x=randn(1,N),x不一定是均值为0方差为1(有些小小的偏差),这样对后续的计算会产生影响。
在这里提供3个函数用于按一定的信噪比把噪声叠加到信号上去,同时可检验带噪信号中信噪比。
1. 把白噪声叠加到信号上去:function [Y,NOISE] = noisegen(X,SNR)% noisegen add white Gaussian noise to a signal.% [Y, NOISE] = NOISEGEN(X,SNR) adds white Gaussian NOISE to X. The SNR is in dB. NOISE=randn(size(X));NOISE=NOISE-mean(NOISE);signal_power = 1/length(X)*sum(X.*X);noise_variance = signal_power / ( 10^(SNR/10) );NOISE=sqrt(noise_variance)/std(NOISE)*NOISE;Y=X+NOISE;其中X是纯信号,SNR是要求的信噪比,Y是带噪信号,NOISE 是叠加在信号上的噪声。
2. 把指定的噪声叠加到信号上去有标准噪声库NOISEX-92,其中带有白噪声、办公室噪声、工厂噪声、汽车噪声、坦克噪声等等,在信号处理中往往需要把库中的噪声叠加到信号中去,而噪声的采样频率与纯信号的采样频率往往不一致,需要采样频率的校准。
function [Y,NOISE] = add_noisem(X,filepath_name,SNR,fs)% add_noisem add determinated noise to a signal.% X is signal, and its sample frequency is fs;% filepath_name is NOISE's path and name, and the SNR is signal to noise ratio in dB. [wavin,fs1,nbits]=wavread(filepath_name);if fs1~=fswavin1=resample(wavin,fs,fs1);endnx=size(X,1);NOISE=wavin1(1:nx);NOISE=NOISE-mean(NOISE);signal_power = 1/nx*sum(X.*X);noise_variance = signal_power / ( 10^(SNR/10) );NOISE=sqrt(noise_variance)/std(NOISE)*NOISE;Y=X+NOISE;其中X是纯信号,filepath_name是指定噪声文件(.wav)的路径和文件名,SNR是要求的信噪比,fs是信号X的采样频率,Y是带噪信号,NOISE是叠加在信号上的噪声。
matlab 协方差白噪声
在Matlab中,可以使用'randn'函数生成服从高斯白噪声(随机数)的向量,然后使用'cov'函数计算该向量的协方差矩阵。
下面是一个示例代码:
```matlab
N = 1000; % 数据长度
x = randn(N, 1); % 生成服从高斯分布的白噪声
C = cov(x); % 计算x的协方差矩阵
% 显示结果
disp('协方差矩阵:');
disp(C);
```
上述代码首先设置了数据长度N为1000,然后使用'randn'函数生成一个N行1列的服从高斯分布的随机向量x。
接着,使用'cov'函数计算x的协方差矩阵C。
最后,使用'disp'函数显示协方差矩阵C的结果。
注意,由于是随机生成的白噪声,每次运行代码生成的随机数序列和协方差矩阵都会略有不同。
%对语言信号做原始的时域波形分析和频谱分析[y,fs,bits]=wavread('C:\Documents andSettings\Administrator\桌面\');%sound(y,fs)% 回放语音信号n=length(y)%选取变换的点数y_p=fft(y,n);%对n点进行傅里叶变换到频域f=fs*(0:n/2-1)/n;% 对应点的频率figure(1)subplot(2,1,1);plot(y);%语音信号的时域波形图title('原始语音信号采样后时域波形');xlabel('时间轴')ylabel('幅值 A')subplot(2,1,2);plot(f,abs(y_p(1:n/2)));%语音信号的频谱图title('原始语音信号采样后频谱图');xlabel('频率Hz');ylabel('频率幅值');%对音频信号产生噪声L=length(y)%计算音频信号的长度noise=*randn(L,2);%产生等长度的随机噪声信号(这里的噪声的大小取决于随机函数的幅度倍数)y_z=y+noise;%将两个信号叠加成一个新的信号——加噪声处理%sound(y_z,fs)%对加噪后的语音信号进行分析n=length(y);%选取变换的点数y_zp=fft(y_z,n);%对n点进行傅里叶变换到频域f=fs*(0:n/2-1)/n;% 对应点的频率figure(2)subplot(2,1,1);plot(y_z);%加噪语音信号的时域波形图title('加噪语音信号时域波形');xlabel('时间轴')ylabel('幅值 A')subplot(2,1,2);plot(f,abs(y_zp(1:n/2)));%加噪语音信号的频谱图title('加噪语音信号频谱图');xlabel('频率Hz');ylabel('频率幅值');对加噪的语音信号进行去噪程序如下:fp=1500;fc=1700;As=100;Ap=1;(以上为低通滤波器的性能指标)wc=2*pi*fc/fs; wp=2*pi*fp/fs;wdel=wc-wp;beta=*;N=ceil((As-8)/wdel);wn= kaiser(N+1,beta);ws=(wp+wc)/2/pi;b=fir1(N,ws,wn);figure(3);freqz(b,1);(此前为低通滤波器设计阶段)——接下来为去除噪声信号的程序——x=fftfilt(b,y_z);X=fft(x,n);figure(4);subplot(2,2,1);plot(f,abs(y_zp));title('滤波前信号的频谱');subplot(2,2,2);plot(f,abs(X));title('滤波后信号频谱');subplot(2,2,3);plot(y_z);title('滤波前信号的波形')subplot(2,2,4);plot(x);title('滤波后信号的波形')%sound(x,fs,bits)%回放滤波后的音频设计滤波器:器常用的方法有:脉冲响应不变法和双线性变换法。
MATLAB 环境下的正弦信号及高斯白噪声仿真程序说明一、信号的产生及时域观察1、设定正选信号的频率为10HZ ,抽样频率为100HZ ;2、设定N(0,0.25)高斯白噪声,及噪声功率为0.25W ;3、最后将噪声叠加到正弦信号上,观察其三者时域波形。
二、信号频谱及白噪声功率谱的求解与观察1、对原正弦信号直接进行FFT ,得出其频谱;2、求白噪声的自相关函数,随机序列自相关函数的无偏估计公式为:1^01()()()N m xx n r m x n x n m N m --==+-∑ 01m N ≤≤- ^^()()xx xx r m r m =- 01m N <<-对所求自相关函数进行FFT 变换,求的白噪声的功率谱函数。
源程序:1.产生正弦信号fs=100;fc=10;x=(0:1/fs:2);n=201;y1=sin(2*pi*fc*x); %原正弦信号,频率为10a=0;b=0.5; %均值为a ,方差为b^2subplot(2,2,1);plot(x,y1,'r');title('y=sin(20pi*x)');ylabel('y');xlabel('x/20pi');grid;2.产生高斯白噪声y2=a+b*randn(1,n); %高斯白噪声subplot(2,2,2);plot(x,y2,'r');title('N(0,0.25)的高斯白噪声');ylabel('y');xlabel('x/20pi');grid;3.复合信号y=y1+y2; %加入噪声之后的信号subplot(2,2,3);plot(x,y,'r');title('混合信号');ylabel('y');xlabel('x/20pi');grid;4.复合信号功率谱密度%求复合信号的自相关函数m=50;i=-0.49:1/fs:0.49;for j=1:mR(j)=sum(y(1:n-j-1).*y(j:199),2)/(n-j);%无偏自相关函数的估计Rx(49+j)=R(j);Rx(51-j)=R(j);endFy2=fft(Rx); %傅里叶变换得出复合信号功率谱函数Fy21=fftshift(Fy2); %功率谱校正f=(0:98)*fs/99-fs/2;subplot(2,2,4);plot(f,abs(Fy21),'r');axis([-50 50 -0.5 1]);title('复合信号功率谱函数图');ylabel('F(Rx)');xlabel('w');grid;。
色噪声白化 matlab
以色噪声白化是一种常用的信号处理方法,主要用于去除图像中的噪声,提高图像的质量。
在matlab中,可以通过一系列操作实现色噪声白化的效果。
我们需要加载待处理的图像,并将其转换为灰度图像。
这样可以简化后续的处理步骤,并保留图像的主要信息。
接下来,我们可以使用matlab提供的滤波函数对图像进行滤波处理。
常用的滤波方法包括均值滤波、中值滤波和高斯滤波等。
这些滤波方法可以有效地去除图像中的噪声,并保持图像的细节。
在滤波之后,我们可以对图像进行色噪声白化处理。
色噪声白化的目标是使图像的颜色分布更加均匀,减少色彩偏差。
为了实现这个目标,我们可以使用直方图均衡化的方法。
直方图均衡化可以通过拉伸图像的亮度范围,使得图像的亮度分布更加均匀,从而改善图像的质量。
完成色噪声白化处理之后,我们可以对图像进行进一步的处理,如锐化、增强对比度等。
这些处理方法可以使图像更加清晰、鲜艳,增强视觉效果。
我们可以将处理后的图像保存到本地,并进行后续的分析和应用。
在保存图像时,建议选择无损压缩的格式,以保留图像的细节和质量。
通过使用matlab中的滤波和直方图均衡化等方法,可以实现色噪声白化的效果。
这种方法可以有效地去除图像中的噪声,并提高图像的质量。
无论是在科学研究还是在实际应用中,色噪声白化都具有重要的意义和价值。
希望本文对读者在使用matlab进行色噪声白化方面提供一些帮助和指导。
白噪声的测试MATLAB程序学术篇 2009-11-13 22:18:03 阅读232 评论0 字号:大中小订阅clear; clc;%生成各种分布的随机数x1=unifrnd(-1,1,1,1024);%生成长度为1024的均匀分布x2=normrnd(0,1,1,1024);%生成长度为1024的正态分布x3=exprnd(1,1,1024);%生成长度为1024的指数分布均值为零x4=raylrnd(1,1,1024);%生成长度为1024的瑞利分布x5=chi2rnd(1,1,1024);%生成长度为1024的kaifang分布%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%求各种分布的均值m1=mean(x1),m2=mean(x2),m3=mean(x3),m4=mean(x4),m5=mean(x5) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%求各种分布的方差v1=var(x1),v2=var(x2),v3=var(x3),v4=var(x4),v5=var(x5) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%求各种分布的自相关函数figure(1);title('自相关函数图');cor1=xcorr(x1);cor2=xcorr(x2);cor3=xcorr(x3);cor4=xcorr(x4);cor5=xcorr(x5); subplot(3,2,1),plot(1:2047,cor1);title('均匀分布自相关函数图');subplot(3,2,2),plot(1:2047,cor2);title('正态分布');subplot(3,2,3),plot(1:2047,cor3);title('指数分布');subplot(3,2,4),plot(1:2047,cor4);title('瑞利分布');subplot(3,2,5),plot(1:2047,cor5);title('K方分布'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %求各种分布的概率密度函数y1=unifpdf(x1,-1,1);y2=normpdf(x2,0,1);y3=exppdf(x3,1);y4=raylpdf(x4,1);y5=chi2pdf(x5,1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %各种分布的频数直方图figure(2);subplot(3,2,1),hist(x1);title('均匀分布频数直方图');subplot(3,2,2),hist(x2,[-4:0.1:4]);title('正态分布');subplot(3,2,3),hist(x3,[0:.1:20]);title('指数分布');subplot(3,2,4),hist(x4,[0:0.1:4]);title('瑞利分布');subplot(3,2,5),hist(x5,[0:0.1:10]);title('K方分布'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%各种分布的概率密度估计figure(3);[k1,n1]=ksdensity(x1);[k2,n2]=ksdensity(x2);[k3,n3]=ksdensity(x3);[k4,n4]=ksdensity(x4);[k5,n5]=ksden sity(x5);subplot(3,2,1),plot(n1,k1);title('均匀分布概率密度');subplot(3,2,2),plot(n2,k2);title('正态分布');subplot(3,2,3),plot(n3,k3);title('指数分布');subplot(3,2,4),plot(n4,k4);title('瑞利分布');subplot(3,2,5),plot(n5,k5);title('K方分布'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%功率谱密度%plot(abs(fft(cor2,2^18)));plot(fft(cor2,2^18));plot(fft(cor3,2^18));plot(fft(c or4,2^18));plot(fft(cor5,2^18));figure(4);f1=fft(x1,1024);f2=fft(x2,1024);f3=fft(x3,1024);f4=fft(x4,1024);f5=fft(x5,1024);p1=f1.*conj(f1)/1024; p2=f2.*conj(f2)/1024; p3=f3.*conj(f3)/1024; p4=f4 .*conj(f4)/1024; p5=f5.*conj(f5)/1024;f=1000*(0:511)/1024;subplot(3,2,1),plot(f,log10(p1(1:512)));title('均匀分布功率谱密度');%axis([0 511 0 10]);subplot(3,2,2),plot(f,log10(p2(1:512)));title('正态分布');%axis([0 511 0 10]); subplot(3,2,3),plot(f,log10(p3(1:512)));title('指数分布');%axis([0 511 0 10]); subplot(3,2,4),plot(f,log10(p4(1:512)));title('瑞利分布');%axis([0 511 0 10]); subplot(3,2,5),plot(f,log10(p5(1:512)));title('K方分布');%axis([0 511 0 10]); %时域,频域特性曲线%时域特性曲线:figure(5);subplot(3,2,1),plot(1:1024,x1);title('均匀分布时域特性曲线');subplot(3,2,2),plot(1:1024,x2);title('正态分布');subplot(3,2,3),plot(1:1024,x3);title('指数分布');subplot(3,2,4),plot(1:1024,x4);title('瑞利分布');subplot(3,2,5),plot(1:1024,x5);title('K方分布');%幅频特性曲线%%%%%%%%%%%%%%%figure(6);subplot(3,2,1),plot(abs(f1)),axis([0 1023 0 50]);title('均匀分布幅频特性'); subplot(3,2,2),plot(abs(f2));title('正态分布');subplot(3,2,3),plot(abs(f3)),axis([0 1023 0 200]);title('指数分布');subplot(3,2,4),plot(abs(f4)),axis([0 1023 0 50]);title('瑞利分布');subplot(3,2,5),plot(abs(f5)),axis([0 1023 0 100]);title('K方分布');%相频特性曲线%%%%%%%%%%%%%%%figure(7);subplot(3,2,1),plot(angle(f1));title('均匀分布相频特性');subplot(3,2,2),plot(angle(f2));title('正态分布');subplot(3,2,3),plot(angle(f3));title('指数分布');subplot(3,2,4),plot(angle(f4));title('瑞利分布');subplot(3,2,5),plot(angle(f5));title('K方分布'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%随机数长度为10240时figure(8);x11=unifrnd(-1,1,1,10240);%生成长度为10240的均匀分布x22=normrnd(0,1,1,10240);%生成长度为10240的正态分布x33=exprnd(1,1,10240);%生成长度为10240的指数分布x44=raylrnd(1,1,10240);%生成长度为10240的瑞利分布x55=chi2rnd(1,1,10240);%生成长度为10240的kaifang分布f11=fft(x11,10240);f22=fft(x22,10240);f33=fft(x33,10240);f44=fft(x44,10240);f55=fft(x55,10240);p11=f11.*conj(f11)/10240; p22=f22.*conj(f22)/10240; p33=f33.*conj(f33)/1024 0; p44=f44.*conj(f44)/10240; p55=f55.*conj(f55)/10240;ff=10000*(0:5119)/10240;subplot(3,2,1),plot(ff,log10(p11(1:5120))),title('均匀分布功率谱密度'); subplot(3,2,2),plot(ff,log10(p22(1:5120))),title('正态分布');subplot(3,2,3),plot(ff,log10(p33(1:5120))),title('指数分布');subplot(3,2,4),plot(ff,log10(p44(1:5120))),title('瑞利分布');subplot(3,2,5),plot(ff,log10(p55(1:5120))),title('K方分布');figure;cor11=xcorr(x11);cor22=xcorr(x22);cor33=xcorr(x33);cor44=xcorr(x44);cor55=xcorr (x55);subplot(3,2,1),plot(cor11);title('均匀分布自相关函数图');subplot(3,2,2),plot(cor22);title('正态分布');subplot(3,2,3),plot(cor33);title('指数分布');subplot(3,2,4),plot(cor44);title('瑞利分布');subplot(3,2,5),plot(cor55);title('K方分布');%vp1=var(p1),vp11=var(p11),vp2=var(p2),vp22=var(p22),vp3=var(p3),vp33=var(p33), vp4=var(p4),vp44=var(p44),vp5=var(p5),vp55=var(p55)%判断是否是高斯分布%%%%%%%%%%%%%%%%%%%%%%%%%%s=zeros(1,1024);for i=0:4z=unifrnd(0,1,1,1024);s=s+z;ends1=zeros(1,1024);for j=0:4z1=exprnd(3,1,1024);s1=s1+z1;endfigure;[j1,l1]=ksdensity(s);[j2,l2]=ksdensity(s1);subplot(2,2,1),hist(s);title('均匀分布叠加');subplot(2,2,2),plot(l1,j1);title('均匀分布叠加'); subplot(2,2,3),hist(s1);title('指数分布叠加');subplot(2,2,4),plot(l2,j2);title('指数分布叠加'); figure;subplot(1,2,1),normplot(s);title('均匀分布正态检验'); subplot(1,2,2),normplot(s1);title('指数分布正态检验'); %参数估计[muhat,sigmahat,muci,sigmaci]=normfit(s);[muhat1,sigmahat1,muci1,sigmaci1]=normfit(s1);%假设检验[h,sig,ci]=ttest(s,muhat)[h1,sig1,ci1]=ttest(s1,muhat1)。
matlab 协方差白噪声
在MATLAB中,可以使用xawgn函数来生成协方差白噪声。
下面是一个示例,生成长度为1000的白噪声序列,并将其绘制成时间序列图。
matlab
% 设置随机种子以保证结果可重复
rng(0);
% 生成长度为1000的白噪声序列
n = 1000;
x = xawgn(n, 0, 1);
% 绘制时间序列图
plot(x);
在上述代码中,xawgn函数的第一个参数是生成的噪声序列的长度,第二个参数是相对于参考值的功率谱密度,第三个参数是白噪声的方差。
在这个示例中,我们设置第
二个参数为0,表示使用参考值,第三个参数为1,表示白噪声的方差为1。
生成的噪声序列是一个随机过程,其自相关函数和功率谱密度都是无穷大,因此被称为“白噪声”。
在实际应用中,我们通常将白噪声用作测试信号或模拟随机干扰。
除了xawgn函数之外,MATLAB还提供了其他函数来生成不同类型的噪声序列,例如randn函数生成标准正态分布的随机数序列,randi函数生成离散随机数序列等。
matlab 白噪声功率谱
白噪声是一种在所有频率上具有相等功率的随机信号。
在
Matlab中,我们可以使用pwelch函数来估计白噪声的功率谱密度。
pwelch函数可以对信号进行傅里叶变换并计算功率谱密度估计值。
以下是一个简单的示例代码,演示如何使用pwelch函数来计算白噪
声的功率谱密度:
matlab.
% 生成白噪声信号。
Fs = 1000; % 采样频率。
t = 0:1/Fs:1-1/Fs; % 时间向量。
x = randn(size(t)); % 生成白噪声信号。
% 计算白噪声的功率谱密度估计。
[Pxx, f] = pwelch(x, [], [], [], Fs);
% 绘制功率谱密度图。
plot(f, 10log10(Pxx));
xlabel('频率 (Hz)');
ylabel('功率谱密度 (dB/Hz)');
title('白噪声功率谱密度估计');
在这个示例中,我们首先生成了一个白噪声信号x,然后使用pwelch函数计算了其功率谱密度估计值。
最后,我们绘制了功率谱密度图。
你可以根据自己的需求调整采样频率Fs和时间向量t来生成不同的白噪声信号,并使用pwelch函数来计算其功率谱密度估计值。
除了pwelch函数,Matlab还提供了其他用于信号分析和频谱估计的函数,如periodogram和welch等。
这些函数可以帮助你更深入地了解信号的频谱特性,包括白噪声的功率谱密度估计。
希望这些信息能够帮助到你理解在Matlab中如何计算白噪声的功率谱密度。
均匀分布的白噪声信号u(n),画出其波形,并检验其分布情况%-----------------------------------------------------------------% To test rand.m and to generate the white noise signal u(n)% with uniform distribution% 产生均匀分布的随机白噪信号,并观察数据分布的直方图%-----------------------------------------------------------------clear;N=50000;u=rand(1,N);u_mean=mean(u)power_u=var(u)subplot(211)plot(u(1:100));grid on;ylabel('u(n)')xlabel('n')subplot(212)hist(u,50);grid on;ylabel('histogram of u(n)')思考:如何产生一均匀分布、均值为0,功率为0.01的白噪声信号u(n)提示:u (n )~[a ,b]上均匀分布,E (u )= (a+b)/2, 12/)()(2a b u -=σ% to generate the white noise signal u(n) with uniform distribution% and power p;% 产生均匀分布的白噪信号,使均值为0,功率为p%-----------------------------------------------------------------clear;p=0.01;N=50000;u=rand(1,N);u=u-mean(u);a=sqrt(12*p);u1=u*a;power_u1=dot(u1,u1)/Nsubplot(211)plot(u1(1:200));grid on;ylabel('u(n)')xlabel('n')example2: 产生零均值功率0.1且服从高斯分布的白噪声%-----------------------------------------------------------------% to test randn.m and to generate the white noise signal u(n)% with Gaussian distribution and power p% 产生高斯分布的白噪信号,使功率为p,并观察数据分布的直方图%-----------------------------------------------------------------clear;p=0.1;N=500000;u=randn(1,N);a=sqrt(p)u=u*a;power_u=var(u)subplot(211)plot(u(1:200));grid on;ylabel('u(n)');xlabel('n')subplot(212)hist(u,50);grid on;ylabel('histogram of u(n)');example3: sinc信号%-----------------------------------------------------------------% to generate the sinc function.% 产生一sinc 函数;%-----------------------------------------------------------------clear;n=200;stept=4*pi/n;t=-2*pi:stept:2*pi;y=sinc(t);plot(t,y,t,zeros(size(t)));ylabel('sinc(t)');xlabel('t=-2*pi~2*pi');grid on;example4: chirp信号%-----------------------------------------------------------------% to test chirp.m and to generate the chirp signal x(t)% 产生一chirp 信号;% chirp(T0,F0,T1,F1):% T0: 信号的开始时间;F0:信号在T0时的瞬时频率,单位为Hz;% T1: 信号的结束时间;F1:信号在T1时的瞬时频率,单位为Hz;%-----------------------------------------------------------------clear;t=0:0.001:1;x=chirp(t,0,1,125);plot(t,x);ylabel('x(t)')xlabel('t')%-------------------------------------------------------------------------% to test specgram.m :估计信号谱图(SFFT)%specgram(x,Nfft,Fs,window,Noverlap)%x-信号;Fs抽样频率(2),Nfft做FFT长度(256), window窗函数(Hanning)%Noverlap:估计功率谱时每一段叠合长度(0)%-------------------------------------------------------------------------clear;t=0:0.001:1.024-.001;N=1024;% 得到两个Chirp 信号,并相加;y1=chirp(t,0,1,350);y2=chirp(t,350,1,0);y=y1+y2;subplot(211);plot(t,y1);ylabel(' Chirp signal y1')% 求两个Chirp 信号和的短时傅里叶变换;[S,F,T]=specgram(y,127,1,hanning(127),126);subplot(212);surf(T/1000,F,abs(S).^2)view(-80,30);shading flat;colormap(cool);xlabel('Time')ylabel('Frequency')zlabel('spectrogram')还有diric信号(周期SINC)gauspuls(高斯信号)pulstran(脉冲串信号)tripuls三角波脉冲信号example5:线性卷积%-----------------------------------------------------------------% to test conv.m% 计算两个序列的线性卷积;%-----------------------------------------------------------------clear;N=5;M=6;L=N+M-1;x=[1,2,3,4,5];h=[6,2,3,6,4,2];y=conv(x,h);nx=0:N-1;nh=0:M-1;ny=0:L-1;subplot(231);stem(nx,x,'.k');xlabel('n');ylabel('x(n)');grid on;subplot(232);stem(nh,h,'.k');xlabel('n');ylabel('h(n)');grid on;subplot(233);stem(ny,y,'.k');xlabel('n');ylabel('y(n)');grid on;思考:设信号x(n)由正弦信号加均值为0白噪声所组成,正弦信号幅度为1,白噪声方差为1 SNR = 10LG(PS/PU) = -3dB,试分析信号;%-----------------------------------------------------------------% to test xcorr.m% 求两个序列的互相关函数,或一个序列的自相关函数;%-----------------------------------------------------------------clear;N=500;p1=1;p2=0.1;f=1/8;Mlag=50;u=randn(1,N);n=[0:N-1];s=sin(2*pi*f*n);% 混有高斯白噪的正弦信号的自相关u1=u*sqrt(p1);x1=u1(1:N)+s;rx1=xcorr(x1,Mlag,'biased');subplot(221);plot(x1(1:Mlag));xlabel('n');ylabel('x1(n)');grid on;subplot(223);plot((-Mlag:Mlag),rx1);grid on;xlabel('m');ylabel('rx1(m)');% 高斯白噪功率由原来的p1减少为p2,再观察混合信号的自相关u2=u*sqrt(p2);x2=u2(1:N)+s;rx2=xcorr(x2,Mlag,'biased');subplot(222);plot(x2(1:Mlag));xlabel('n');ylabel('x2(n)');grid on;subplot(224);plot((-Mlag:Mlag),rx2);grid on;xlabel('m');ylabel('rx2(m)');用乘同余法产生(见光盘FLch2bzsheg2.m)①编程如下:A=6; x0=1; M=255; f=2; N=100;%初始化;x0=1; M=255;for k=1: N %乘同余法递推100次;x2=A*x0; %分别用x2和x0表示x i+1和x i-1;x1=mod (x2,M); %取x2存储器的数除以M的余数放x1(x i)中;v1=x1/256; %将x1存储器中的数除以256得到小于1的随机数放v1中;)减去0.5再乘以存储器f中的系数,存放在v(:,k)=(v1-0.5 )*f; %将v1中的数(i矩阵存储器v的第k列中,v(:,k)表示行不变、列随递推循环次数变化;x0=x1; % x i-1= x i;v0=v1;end %递推100次结束;v2=v %该语句后无‘;’,实现矩阵存储器v中随机数放在v2中,且可直接显示在MATLAB的window中;k1=k;%grapher %以下是绘图程序;k=1:k1;plot(k,v,k,v,'r');xlabel('k'), ylabel('v');tktle(' (-1,+1)均匀分布的白噪声')②程序运行结果如图2.6所示。
Matlab技术声音处理方法Matlab技术在声音处理方法中的应用声音是我们日常生活中不可或缺的一部分,而如何对声音进行处理和分析则成为了一个重要的研究领域。
Matlab作为一种功能强大的工具,提供了丰富的声音处理方法和函数,可以帮助我们更好地理解和处理声音。
本文将探讨Matlab技术在声音处理方法中的应用。
1. 音频录制与播放Matlab中的`audiorecorder`和`audioplayer`函数可以轻松实现音频的录制和播放。
我们可以使用这些函数来获取外部声音设备的输入,并且实时监测并录制声音。
在录制完成后,我们可以使用`play`函数对录制的声音进行播放,或者使用`wavwrite`函数将声音保存为WAV格式文件。
这些函数为我们提供了方便的工具,可以进行实时采集和回放。
2. 语音信号分析语音信号分析是声音处理中的一个重要领域,它涉及到音频的频率、能量和语音特征等方面的研究。
Matlab中的`fft`函数和`spectrogram`函数可以帮助我们进行频率分析和谱图生成。
通过对语音信号进行调频谱分析,我们可以了解声音信号的频率成分和强度分布。
同时,利用谱图可以对语音信号进行时频分析,识别声音的特征和共振峰等信息。
3. 降噪和滤波技术在实际的声音处理中,常常伴随着各种噪音的干扰。
Matlab提供了各种降噪和滤波技术,可以有效地去除噪音并提升声音质量。
其中,常用的方法包括均值滤波、中值滤波和高斯滤波等。
这些滤波方法可以通过调整滤波窗口的大小和权重来实现不同程度的降噪效果。
此外,Matlab还提供了自适应滤波和谱减法等高级降噪方法,可以根据不同噪声类型进行自主调整和处理。
4. 语音合成和变声语音合成和变声是声音处理中的两个有趣的方向。
使用Matlab中的`synth`函数和`pitchshift`函数,我们可以对声音进行合成和变调操作。
通过改变声音的频率和音高,可以实现从机器语音到人声和从男声到女声的变换。
现代通信原理作业一利用matlab完成:●产生正弦波信号、均匀白噪声以及高斯白噪声并分别将两种噪声叠加到正弦波信号上,绘出波形。
●分别求取均匀白噪声序列和高斯白噪声序列的自相关及功率谱密度,绘出波形。
一、白噪声区别及产生方法1、定义:均匀白噪声:噪声的幅度分布服从均匀分布,功率谱密度在整个频域内均匀分布的噪声。
高斯白噪声:噪声的幅度分布服从正态分布,功率谱密度在整个频域内均匀分布的噪声。
2、matlab仿真函数:rand函数默认产生是区间在[0,1]的随机数,这里需要利用公式:z2=a+(b-(a))*rand(m,n)............(公式1)randn函数默认产生均值是0、方差是1的随机序列,所以可以用其来产生均值为0、方差为1的正态分布白噪声,即N(0,12)。
利用公式:z1=a+b*randn(1,n).................(公式2)可以产生均值为a,方差为b2 高斯白噪声,即N(a,b2)。
二、自相关函数与功率谱密度之间的关系1、功率谱密度:每单位频率波携带的功率,这被称为信号的功率谱密度。
2、自相关函数:描述随机信号X(t)在任意两个不同时刻t1,t2的取值之间的相关程度。
3、维纳-辛钦定理:由于平均值不为零的信号不是平方可积的,所以在这种情况下就没有傅里叶变换。
幸运的是维纳-辛钦定理提供了一个简单的替换方法,如果信号可以看作是平稳随机过程,那么功率谱密度就是信号自相关函数的傅里叶变换。
4、平稳随机过程:是在固定时间和位置的概率分布与所有时间和位置的概率分布相同的随机过程。
(就是指得仅一个随机过程,中途没有变成另外一个统计特性的随机过程)二、源代码及仿真结果1、正弦波x=(0:0.01:2); %采样频率100Hzy1=sin(10*pi*x); %产生频率5Hz的sin函数plot(x,y1,'b');2、高斯白噪声+正弦波z1=0.1*randn(1,201); %产生方差N(0,0.12)高斯白噪声(b=0.01/0.1/1)plot(x,z1,'b');y2=y1+z1; %叠加高斯白噪声的正弦波plot(x,y2,'b');3、均匀白噪声+正弦波z2=-.3+.6*rand(1,201); %产生-0.3到0.3的均匀白噪声plot(x,z2,'b');y3=y1+z2; %叠加均匀白噪声的正弦波plot(x,y3,'b');4、高斯白噪声序列自相关函数及功率谱密度z1=0.1*randn(1,201); %产生方差N(0,0.12)高斯白噪声[r1,lags]=xcorr(z1); %自相关函数的估计plot(lags,r1);f1=fft(r1);f2=fftshift(f1); %频谱校正l1=(0:length(f2)-1)*200/length(f2)-100; %功率谱密度x轴y4=abs(f2);plot(l1,y4);5、均匀白噪声序列自相关函数及功率谱密度z2=-.3+.6*rand(1,201); %产生-0.3到0.3的均匀白噪声[r2,lags]=xcorr(z2); %自相关函数的估计plot(lags,r2);f3=fft(r2);f4=fftshift(f3); %频谱校正l2=(0:length(f4)-1)*200/length(f4)-100; %功率谱密度x轴y5=abs(f4);plot(l2,y5);。
高斯白噪声matlab如何在MATLAB中生成高斯白噪声(Gaussian White Noise)引言:在信号处理和统计学中,高斯白噪声是一种常见且重要的随机信号。
它具有特定的统计性质,并被广泛应用于许多领域,如通信、图像处理、声音分析等。
在本文中,我们将通过MATLAB编程语言来学习如何生成高斯白噪声信号,并讨论它的基本特征。
第一步:了解高斯白噪声的定义和统计特性高斯白噪声是一种具有以下特性的随机信号:1. 具有高斯分布的概率密度函数(PDF)。
2. 平稳的时域特性,即均值为零且自协方差矩阵不变。
3. 频谱平坦,也就是在所有频率上具有相等的功率密度。
第二步:使用MATLAB生成高斯分布的随机数序列MATLAB提供了许多生成随机数的函数,其中包括生成高斯分布的函数。
我们可以使用randn函数(randn命令)生成高斯分布的随机数序列。
例如,我们可以使用以下语句生成一个长度为N的高斯分布的随机数序列:matlabN = 1000; 设置序列长度mu = 0; 均值sigma = 1; 标准差x = mu + sigma * randn(1, N);这将生成一个长度为N的随机数序列x,它的均值为mu,标准差为sigma。
第三步:生成高斯白噪声信号在MATLAB中,我们可以通过生成高斯分布的随机数序列并进行适当的处理来生成高斯白噪声信号。
生成的随机数序列可以被认为是高斯白噪声信号的一个样本。
我们可以通过对随机数序列进行归一化处理,使其均值为零:matlabx = x - mean(x);接下来,我们可以计算序列的自协方差矩阵,并将其设置为单位矩阵(由于高斯白噪声信号的平稳性质):matlabRxx = xcorr(x, 'biased');Rxx = toeplitz(Rxx(N:2*N-1));Rxx是序列x的自协方差矩阵,xcorr函数用于计算序列的自相关函数。
toeplitz函数则将自相关函数转换为自协方差矩阵。
实验一基于MATLAB的白噪声信号u(n)、sinc函数、chirp信号产生实验一、实验目的:1.学会使用MATLAB2.通过实验了解MATLAB如何产生各种常用信号3.掌握MATLAB的编程方法二、实验内容:1.用MATLAB编程产生一均匀分布的白噪声信号u(n),画出其波形,并检验其分布情况。
代码:clear;N = 50000;u = rand(1,N);u_mean = mean(u);power_u = var(u);subplot(211);plot(u(1:100));grid on;ylabel('u(n)');xlabel('n');subplot(212);hist(u,100);grid on;ylabel('histogranm of u(n)');运行结果:2.用MATLAB编程产生一均匀分布、均值为零、功率为0.01的白噪声信号u(n),画出其波形。
代码:clear;p = 0.01;N = 50000;u = rand(1,N);u = u - mean(u);a = sqrt(12*p);u1 = u*a;power_u1 = dot(u1,u1)/N;subplot(111);plot(u1(1:200));grid on;ylabel('u(n)');xlabel('n');运行结果:3.用MATLAB编程产生高斯分布的白噪声信号,使功率为p,并观察数据分布的直方图。
代码:p = 0.1;N = 50000;u = rand(1,N);u = u*a;power_u = var(u);subplot(211);plot(u(1:200));grid on;ylabel('u(n)');xlabel('n');subplot(212);hist(u,50);grid on;ylabel('histgram of u(n)');运行结果:4.用MATLAB编程产生一sinc函数,画出其波形。
MATLAB 中产生高斯白噪声
MATLAB 中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN。
WGN 用于产生高斯白噪声,AWGN 则用于在某一信号中加入高斯白噪声。
1. WGN:产生高斯白噪声
y = wgn(m,n,p) 产生一个m 行n 列的高斯白噪声的矩阵,p 以dBW 为单位指定输出噪声的强
度。
y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗。
y = wgn(m,n,p,imp,state) 重置RANDN 的状态。
在数值变量后还可附加一些标志性参数:
y = wgn(…,POWERTYPE) 指定p 的单位。
POWERTYPE 可以是’dBW’, ‘dBm’或’linear’。
线性强度(linear power)以瓦特(Watt)为单位。
y = wgn(…,OUTPUTTYPE) 指定输出类型。
OUTPUTTYPE 可以是’real’或’complex’。
2. AWGN:在某一信号中加入高斯白噪声
y = awgn(x,SNR) 在信号x 中加入高斯白噪声。
信噪比SNR 以dB 为单位。
x 的强度假定为0dBW。
如果x 是复数,就加入复噪声。
y = awgn(x,SNR,SIGPOWER) 如果SIGPOWER 是数值,则其代表以dBW 为单位的信号强度;如 果SIGPOWER 为’measured’,则函数将在加入噪声之前测定信号强度。
y = awgn(x,SNR,SIGPOWER,STATE) 重置RANDN 的状态。
y = awgn(…,POWERTYPE) 指定SNR 和SIGPOWER 的单位。
POWERTYPE 可以是’dB’或’linear’。
如果POWERTYPE 是’dB’,那么SNR 以dB 为单位,而SIGPOWER 以dBW 为单位。
如果POWERTYPE 是’linear’,那么SNR 作为比值来度量,而SIGPOWER 以瓦特为单位。
注释
2.1 分贝(decibel, dB)
分贝(dB)是表示相对功率或幅度电平的标准单位,换句话说,就是我们用来表示两个
能量之间的差别的一种表示单位,它不是一个绝对单位。
例如,电子系统中将电压、电流、功率等物理量的强弱通称为电平,电平的单位通常就以分贝表示,即事先取一个电压或电流 作为参考值(0dB),用待表示的量与参考值之比取对数,再乘以20 作为电平的分贝数(功率
的电平值改乘10)。
2.2 分贝瓦(dBW, dB Watt)
指以1W 的输出功率为基准时,用分贝来测量的功率放大器的功率值。
2.3 dBm (dB-milliWatt)
即与1milliWatt(毫瓦)作比较得出的数字。
0 dBm = 1 mW 10 dBm = 10 mW 20 dBm = 100 mW
补充:
也可直接用randn 函数产生高斯分布序列,例如:
y=randn(1,2500);
y=y/std(y);
y=y-mean(y);
a=0.0128;
b=sqrt(0.9596);
y=a+b*y;
就得到了 N ( 0.0128, 0.9596 ) 的高斯分布序列。
S=wgn(1,m,10*log10(0.05)); %产生白噪声(均值为0,方差为0.05) 生成wav文件:
S=wgn(1,40000,10*log10(1));
S1=S/2;
wavwrite(S1,8192,16,'zaosheng.wav');%产生wav文件。