MATLAB白噪声正弦信号分析

合集下载

matlab 正弦波 高斯白噪声 均匀白噪声 功率谱密度 自相关函数(word文档良心出品)

matlab 正弦波 高斯白噪声 均匀白噪声 功率谱密度 自相关函数(word文档良心出品)

现代通信原理作业一姓名:张英伟学号:133320085208036 班级:13级理工部3班利用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 白噪声功率谱

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的高斯白噪声信道分析报告

基于MATLAB的高斯白噪声信道分析报告

基于MATLAB的⾼斯⽩噪声信道分析报告基于matlab⾼斯⽩噪声信道分析系统的设计××(陕西理⼯学院物理与电信⼯程学院通信⼯程专业1202班,陕西汉中 723003)指导教师:吴燕[摘要] MATLAB 是⼀种⽤于算法开发、数据可视化、数据分析以及数值计算的⾼级技术计算语⾔和交互式环境。

本⽂在matlab的环境下构建了BFSK在⾼斯⽩噪声信道中传输的系统模型,通过simulink程序仿真,研究系统的误码率与信道质量的关系,找到在⾼斯⽩噪声信道上传输的最⼤信噪⽐及所需发射功率和调制频率,从⽽得出该系统在⾼斯⽩噪声信道中的最佳传输性能。

[关键词] MATLAB;⾼斯⽩噪声;信道分析;simulink仿真Design and production of the Gauss white noise channel analysis system based on MATLAB××(Grade 2012,Class 2,Major of Communication Engineering,School of Physics and Telecommunication Engineering of Shaanxi University of Technology,Hanzhong 723003,Shaanxi)Tutor: Wu YanAbstract: MATLAB is a high-level technical computing language and interactive environment for the development of algorithms, data visualization, data analysis and numerical calculation. This article in the matlab environment build BFSK in AWGN channel model simulation,by running simulation the program on the system of quality of error rate and channel relationships,found in AWGN channel transport of maximum signal-to-noise ratio and the desired transmitter power.Key words:MA TLAB; Gauss white noise; channel analysis; Simulink simulation⽬录1.绪论 .................................... 错误!未定义书签。

实验一-基于MATLAB的白噪声信号u(n)、sinc函数、chirp信号产生实验

实验一-基于MATLAB的白噪声信号u(n)、sinc函数、chirp信号产生实验

实验一基于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对含噪声语音信号进行频谱分析及滤波

应用Matlab对含噪声语音信号进行频谱分析及滤波频谱分析是对信号的频率特性进行研究和描述的一种方法,而滤波是对信号进行去除或者强调特定频率成份的处理。

在语音信号处理中,频谱分析及滤波常用于去除噪声、增强语音信号的清晰度和可听度。

Matlab作为一种强大的科学计算软件,提供了丰富的工具和函数用于频谱分析和滤波。

下面将详细介绍如何使用Matlab对含噪声语音信号进行频谱分析及滤波的步骤和方法。

1. 导入语音信号首先,我们需要将含噪声的语音信号导入到Matlab中进行处理。

可以使用Matlab提供的`audioread()`函数读取语音文件,并将其存储为一个向量。

```matlab[y, Fs] = audioread('noisy_speech.wav');```其中,`y`是读取到的语音信号向量,`Fs`是采样率。

如果语音文件的采样率不是默认的16kHz,可以使用`resample()`函数调整采样率。

2. 绘制时域波形为了对语音信号有一个直观的了解,可以绘制其时域波形图。

使用Matlab的`plot()`函数可以实现这一目标。

```matlabt = (0:length(y)-1)/Fs;plot(t, y);xlabel('Time (s)');ylabel('Amplitude');title('Time Domain Waveform');```这段代码将绘制出含噪声语音信号的时域波形图,横轴表示时间,纵轴表示信号的幅值。

3. 进行频谱分析频谱分析可以匡助我们了解语音信号在不同频率上的能量分布情况。

在Matlab 中,可以使用`fft()`函数对语音信号进行傅里叶变换,得到其频谱。

```matlabN = length(y);Y = fft(y);P = abs(Y).^2/N;f = Fs*(0:(N/2))/N;plot(f, 10*log10(P(1:N/2+1)));xlabel('Frequency (Hz)');ylabel('Power (dB)');title('Power Spectrum');```上述代码将绘制出含噪声语音信号的功率谱图,横轴表示频率,纵轴表示功率(以分贝为单位)。

(完整word版)MATLAB环境下的正弦信号及高斯白噪声仿真程序说明

(完整word版)MATLAB环境下的正弦信号及高斯白噪声仿真程序说明

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信号是信息的载体,采用合适的信号分析处理方法以获取隐藏于传感观测信号中的重要信息(包括时域与频域信息等),对于许多工程应用领域均具有重要意义。

对获取振动噪声信号的分析处理,是进行状态监测、故障诊断、质量检查、源识别、机器产品的动态性能测试与优化设计等工作的重要环节,它可以预先发现机械部件的磨损和缺陷等故障,从而可以提高产品的质量,降低维护费用。

随着测试技术的迅速发展,各种信号分析方法也随之涌现,并广泛应用在各个领域[1]。

时域描述简单直观,只能反映信号的幅值随时间的变化,而不能明确的揭示信号随时间的变化关系。

为了研究信号的频率组成和各频率成分的幅值大小、相位关系,应对信号进行频谱分析,即把时域信号通过适当的数学方法处理变成频率f(或角频率 )为独立变量,相应的幅值或相位为因变量的频域描述。

频域分析法将时域分析法中的微分或差分方程转换为代数方程,有利于问题的分析[2].MATLAB是MathWorks公司于1982年推出的一种功能强大、效率高、交互性好的数值计算和可视化计算机高级语言,它将数值分析、矩阵运算、信号处理和图形显示有机地融合为一体,形成了一个极其方便、用户界面良好的操作环境。

随着其自身版本的不断提高,MATLAB的功能越来越强大,应用范围也越来越广,如广泛应用于信号处理、数字图像处理、仿真、自动化控制、小波分析及神经网络等领域[3].本文主要运用了MATLAB R2014a对机械振动信号进行分析.分析过程包括时域分析和频域分析两大部分,时域分析的指标包括随机信号的均值、方差以及均方值。

噪声a振级matlab代码

噪声a振级matlab代码

噪声a振级 MATLAB代码1. 引言噪声是随机信号的一种形式,常常存在于各种实际应用中。

对于一些特定的应用,我们可能需要生成特定类型的噪声信号。

本文将介绍如何使用 MATLAB 编写代码来生成噪声信号,并重点讨论振级噪声(也称为白噪声)、a 振级噪声以及两者之间的关系。

2. 噪声信号噪声信号是一个包含了所有频率的随机信号。

在频谱中,噪声信号的幅度在不同频率上是均匀分布的,因此也被称为“白噪声”。

白噪声是一种随机过程,其幅度是恒定的且无相关性,可以看作是一种理想的参考信号。

在 MATLAB 中,我们可以使用randn函数生成服从标准正态分布的随机数序列。

通过对这些随机数序列进行时间域或频域操作,可以生成不同类型的噪声信号。

3. 振级噪声振级噪声是一种特殊类型的噪声信号,其在能量谱上的分布呈幂律。

在频谱上,振级噪声的幅度随频率呈倒幂关系,表现为低频部分有较高振幅,而高频部分振幅逐渐减小。

振级噪声在许多实际应用中具有重要的应用价值,例如声音信号处理、通信系统和图像处理等。

我们可以使用rand函数生成随机数序列,然后对该序列进行振级处理来生成振级噪声。

下面是一个生成振级噪声的 MATLAB 代码示例:fs = 1000; % 采样率T = 1/fs; % 采样间隔t = 0:T:1; % 时间序列A = 1; % 振幅beta = 2; % 振级参数noise = rand(size(t)); % 生成随机噪声信号x = A * sin(2*pi*t) .* (noise .^ beta); % 生成振级噪声信号在上述代码中,我们首先定义了采样率 fs,采样间隔 T 和时间序列 t。

然后,我们生成了与时间序列相同长度的随机数序列noise,并将其与正弦函数相乘。

通过对随机数序列进行幂运算,我们实现了振级效果。

4. 噪声a振级噪声a振级是一种介于白噪声和振级噪声之间的噪声信号。

在噪声a振级中,振幅随频率的变化更平滑,且不像振级噪声那样呈幂律分布。

MATLAB中产生白噪声

MATLAB中产生白噪声

高斯白噪声及Matlab常用实现方法一、概念英文名称:white Gaussian noise; WGN定义:均匀分布于给定频带上的高斯噪声;所谓高斯白噪声中的高斯是指概率分布是正态函数,而白噪声是指它的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。

这是考察一个信号的两个不同方面的问题。

高斯白噪声:如果一个噪声,它的幅度服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。

热噪声和散粒噪声是高斯白噪声。

二、matlab举例Matlab有两个函数可以产生高斯白噪声,wgn( )和awgn( )。

1. WGN:产生高斯白噪声y = wgn(m,n,p)y = wgn(m,n,p) %产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度。

y = wgn(m,n,p,imp)y = wgn(m,n,p,imp) %以欧姆(Ohm)为单位指定负载阻抗。

y = wgn(m,n,p,imp,state)y = wgn(m,n,p,imp,state) %重置RANDN的状态。

2. AWGN:在某一信号中加入高斯白噪声y = awgn(x,SNR)y = awgn(x,SNR) %在信号x中加入高斯白噪声。

信噪比SNR以dB为单位。

x的强度假定为0dBW。

如果x是复数,就加入复噪声。

clear,clc;N=0:1000;fs=1024;t=N./fs;y=3*sin(2*pi*t);x=wgn(1,1001,2);i=y+x;% i=awgn(y,2); subplot(3,1,1),plot(x); subplot(3,1,2),plot(y); subplot(3,1,3),plot(i);。

MATLAB环境下的正弦信号及高斯白噪声仿真程序说明

MATLAB环境下的正弦信号及高斯白噪声仿真程序说明

姓名:朱奇峰 专业:电子与通信工程 方向:数字广播电视技术 学号:103320430109033MATLAB 环境下的正弦信号及高斯白噪声仿真程序说明一、信号的产生及时域观察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 变换,求的白噪声的功率谱函数。

三、仿真结果:附源程序代码:fs=100;fc=10;x=(0:1/fs:2);n=201;y1=sin(2*pi*fc*x); %原正弦信号,频率为10 a=0;b=0.5; %均值为a,方差为b^2subplot(3,2,1);plot(x,y1,'r');title('y=sin(20pi*x)');ylabel('y');xlabel('x/20pi');grid;y2=a+b*rand(1,n); %均匀白噪声subplot(3,2,2);plot(x,y2,'r');title('N(0,0.25)的均匀白噪声');ylabel('y');xlabel('x/20pi');grid;y=y1+y2; %加入噪声之后的信号subplot(3,2,3);plot(x,y,'r');title('叠加了均匀白噪声的sinx');ylabel('y');xlabel('x/20pi');grid;FY=fft(y); %傅里叶变换得出频谱函数FY1=fftshift(FY); %频谱校正f=(0:200)*fs/n-fs/2;subplot(3,2,4);plot(f,abs(FY1),'r');title('函数频谱图');ylabel('F(jw)');xlabel('w');grid;%求均匀白噪声的自相关函数m=50;i=-0.49:1/fs:0.49;for j=1:mR1(j)=sum(y2(1:n-j-1).*y2(j:199),2)/(n-j);%无偏自相关函数的估计R1x(49+j)=R1(j);R1x(51-j)=R1(j);endsubplot(3,2,5);plot(i,R1x,'r');%plot(leg*1/fs,R1x,'r');title('白噪声自相关函数图');ylabel('R1x');xlabel('x');grid;Fy2=fft(R1x); %傅里叶变换得出白噪声功率谱函数Fy21=fftshift(Fy2); %功率谱校正f=(0:98)*fs/99-fs/2;subplot(3,2,6);plot(f,abs(Fy21),'r');axis([-50 50 -0.5 6]);title('白噪声功率谱函数图');ylabel('F(R1x)');xlabel('w');grid;%求正弦波加均匀白噪声的自相关函数m=50;i=-0.49:1/fs:0.49;for j=1:mR2(j)=sum(y(1:n-j-1).*y(j:199),2)/(n-j);%无偏自相关函数的估计R2x(49+j)=R2(j);R2x(51-j)=R2(j);endsubplot(3,2,5);plot(i,R2x,'r');%plot(leg*1/fs,R2x,'r');title('正弦波加白噪声自相关函数图');ylabel('R2x');xlabel('x');grid;Fy2=fft(R2x); %傅里叶变换得出正弦波加白噪声功率谱函数Fy21=fftshift(Fy2); %功率谱校正f=(0:98)*fs/99-fs/2;subplot(3,2,6);plot(f,abs(Fy21),'r');axis([-50 50 -0.5 6]);title('白噪声功率谱函数图'); ylabel('F(R2x)');xlabel('w');grid;clc;clear all;close all;fs=100;%采样频率100hzN=1000;%采样点数t=(0:1:N-1)/fs;f=10;%正弦信号频率10hzs0=sin(2*pi*f*t);%正弦信号am=max(abs(s0));% % -------加噪方案1(由加噪后信噪比确定高斯白噪声)-----snr=5; %设定加入白噪声后的信噪比为5db(均值为0)Pv=(am/(10^(snr/20)))^2;%噪声方差% % --------------------------------------------------% % -------加噪方案2(由噪声方差确定高斯白噪声)--------% % Pv=3; %设定白噪声方差(均值为0)% % snr=20*log10(am/(sqrt(Pv))); %求信噪比% % % % ---------------------------------------------------% % % ---------加噪声-------------v=rand(1,N);v=v*sqrt(Pv);%白噪声s=s0+v;%信号加噪声% % ----------信号画图-------------figure(1)subplot(3,1,1),plot(s0);title('原始信号')subplot(3,1,2),plot(s);title(['加噪信号信噪比= ',num2str(snr),' dB. 噪声方差= ',num2str(Pv)])s1=detrend(s);%去趋势ffs=abs(fft(s1));ffs=ffs*2/N;%频谱%%ffs=ffs.^2;%功率谱subplot(3,1,3),plot(ffs(1:N/2));title('加噪信号FFT')。

信号与系统matlab思考题

信号与系统matlab思考题

信号与系统matlab思考题介绍信号与系统的概念信号与系统是一门研究信号的生成、传输、处理和分析的学科,它在现代通信、控制、图像处理等领域具有重要应用。

信号是一种物理量或信息,可以用数学函数来描述。

系统是对信号的处理装置或方法。

在信号与系统的研究中,matlab是一种常用的工具,它可以方便地进行信号处理、系统分析和系统设计。

本文将提供一些信号与系统方面的matlab思考题,帮助读者加深对该领域的理解。

信号处理题目1. 生成并绘制正弦信号使用matlab生成一个频率为10 Hz、振幅为2的正弦信号,并绘制其波形图。

2. 计算离散序列的自相关函数给定一个离散序列x = [1, 2, 3, 4, 5],使用matlab计算其自相关函数,并绘制自相关函数的图像。

3. 计算信号的功率密度谱给定一个信号x(t) = cos(2pi10t) + cos(2pi20t),在频率范围为0 Hz到30 Hz 内,使用matlab计算其功率密度谱,并绘制功率密度谱的图像。

系统分析题目1. 系统的时域和频域响应考虑一个LTI(线性时不变)系统,其输入信号为x(t) = cos(2pi10t) +cos(2pi20t),系统的单位冲激响应为h(t) = e^(-2t)u(t),使用matlab计算并绘制该系统的时域响应和频域响应。

2. 系统的频率响应曲线给定系统的差分方程为y[n] - 0.5y[n-1] + 0.25y[n-2] = x[n],其中x[n]和y[n]分别表示输入和输出序列,使用matlab计算该系统的频率响应曲线。

3. FIR滤波器的设计设计一个FIR(有限脉冲响应)滤波器,使其能够将频率范围在0 Hz到500 Hz内的信号通过,并且在500 Hz到1000 Hz内的频率范围内有20 dB的衰减。

使用matlab完成滤波器的设计,并绘制其频率响应曲线。

思考题目1. 系统的稳定性分析给定系统的传输函数H(s) = 1/(s^2 + 3s + 2),使用matlab对该系统的稳定性进行分析,并给出稳定性的结论。

基于MATLAB的高斯白噪声信道分析实施报告

基于MATLAB的高斯白噪声信道分析实施报告

摘要CDMA(Code Division Multiple Access)是在扩频通信的根底上开展起来的。

所谓扩频,是将原信号频谱扩展到宽带中进展传输的一种技术。

它主要利用相互正交(或尽可能正交)的不同随机码区分用户,实现多用户同时使用同一频率接入系统和网络。

经过几种网络的实现和开展,CDMA已经逐渐成熟起来。

本课题利用MATLAB对DS-CDMA系统进展仿真。

在研究DS-CDMA系统理论的根底上,利用SIMULINK对其进展仿真,根据系统功能和指标要求,通过波形、频谱图、相位等结果,对系统进展了性能分析,并作了进一步改良与调试。

仿真结果证明了整个设计系统的正确性。

由频谱特性可以看出,信源信号的频谱被大大展宽,验证了扩频的实现;由误码率分析说明,系统对加性高斯噪声等具有一定的抗干扰能力等。

可以看出,MATLAB在系统动态仿真中具有较大优越性和重要作用。

关键词:直扩系统;CDMA;MATLAB;simulink仿真目录前言1第1章绪论11.1 课题研究的背景 (1)1.2 课题研究的目的及意义21.3 本文的主要研究容 (2)第2章Matlab和Simulink的相关介绍22.1 Matlab介绍22.1.1Matlab的功能及特点32.1.2 MATLAB应用42.2 Simulink简介52.2.1 Simulink的特点 52.2.2 Simulink的功能5第3章高斯白噪声63.1高斯白噪声的根本概念63.2 高斯白噪声的数学模型63.3高斯白噪声产生 6第4章CDMA系统理论84.1 CDMA概述84.2 PN码的生成104.3扩频与调制124.4信道13第5章DS-CDMA系统的MATLAB仿真与调试135.1 通信工具箱135.2 通信仿真145.3 DS-CDMA系统各模块设计145.4 DS-CDMA系统仿真框架185.5 SIMULINK仿真结果及分析19结论26致27参考文献28附录A CDMA系统仿真图29前言随着社会、经济的开展,移动通信得到越来越广泛的应用,移动通信技术的开展日新月异。

MATLAB中的信号去噪与信号恢复技巧

MATLAB中的信号去噪与信号恢复技巧

MATLAB中的信号去噪与信号恢复技巧导言:在现代科学和工程领域中,信号处理是一个重要的研究方向。

在这个由噪声干扰的世界中,如何准确地提取所需信号或恢复被噪声淹没的数据成为了一个关键问题。

而MATLAB作为一种高效强大的数值计算和数据可视化工具,为信号的去噪和恢复提供了丰富的技术支持。

本文将介绍MATLAB中常用的信号去噪与恢复技巧,以期帮助读者更好地掌握这一领域的知识。

一、信号去噪技巧1. 加性高斯白噪声的处理在很多实际应用中,信号受到加性高斯白噪声的干扰。

对于这类情况,常见的去噪方法是滤波器。

MATLAB中提供了一系列滤波器函数,如低通滤波器、中值滤波器、均值滤波器等。

通过选取适当的滤波器类型和参数,可以有效地去除噪声,同时保留信号的重要特征。

2. 基于小波变换的去噪方法小波变换是一种有效的信号分析工具,能够将信号分解成不同的频率成分。

基于小波变换的去噪方法利用信号在小波域中的稀疏性,通过滤除相应的小波系数来去除噪声。

MATLAB中提供了丰富的小波函数,例如dwt、idwt等,可以方便地实现小波去噪算法。

3. 自适应滤波方法自适应滤波是一种根据信号自身特性进行滤波的方法。

MATLAB中的自适应滤波函数提供了最小均方误差(Least Mean Square, LMS)和最小二乘(Least Square, LS)等算法,能够根据给定的信号模型自动调整滤波器参数以适应不同的信号特点。

二、信号恢复技巧1. 插值方法在信号采样过程中,可能会出现采样率不足或部分样本丢失的情况。

插值方法能够通过已知的样本数据推测未知的样本值,从而恢复完整的信号。

MATLAB中提供了许多插值函数,如线性插值、三次样条插值等,可以根据实际需要选择合适的插值方法进行信号恢复。

2. 基于稀疏表示的信号恢复方法稀疏表示是指将信号表示为尽可能少的非零系数线性组合的形式。

通过选择合适的稀疏表示字典和优化算法,可以从部分观测数据中恢复出原始信号。

如何在MATLAB中进行信噪比分析与增强

如何在MATLAB中进行信噪比分析与增强

如何在MATLAB中进行信噪比分析与增强信噪比是指信号与噪声的比值,是衡量信号质量的重要指标。

在科学研究和工程应用中,信噪比分析与增强是非常重要的一项技术。

在MATLAB中,我们可以利用各种功能强大的工具和函数来进行信噪比的分析与增强。

在本文中,我将为大家详细介绍如何在MATLAB中进行信噪比分析与增强的方法和步骤。

一、信号与噪声的生成与分析信号与噪声的生成是信噪比分析与增强的基础。

在MATLAB中,我们可以使用各种函数生成不同类型的信号和噪声。

比如,使用“sin”函数生成一个正弦信号:```matlabt = 0:0.01:1; % 时间序列f = 2; % 信号频率A = 1; % 信号幅值y = A*sin(2*pi*f*t); % 生成信号```然后,我们可以使用“randn”函数生成一个均值为0、方差为1的高斯噪声:```matlabn = randn(size(t)); % 生成高斯噪声```接下来,我们可以将信号和噪声相加,形成混合信号:```matlabx = y + n; % 混合信号```对于生成的混合信号,我们可以使用MATLAB的功能强大的函数进行信噪比分析。

比如,可以使用“pwelch”函数进行功率谱密度估计:```matlab[Pxx,f] = pwelch(x); % 估计功率谱密度SNR = snr(x); % 估计信噪比```通过功率谱密度估计和信噪比的计算,我们可以了解信号和噪声在不同频率下的功率分布情况以及整体的信噪比水平。

这对于进一步的信噪比增强有着重要意义。

二、信噪比增强方法在信噪比分析的基础上,我们可以使用不同的方法来增强信噪比。

在MATLAB中,有许多技术和工具可以实现信噪比的增强。

下面,我将介绍几种常用的方法。

1. 滤波器设计滤波器是信噪比增强最常用的方法之一。

在MATLAB中,我们可以使用“designfilt”函数设计各种滤波器。

比如,可以设计一个低通滤波器来去除高频噪声:```matlabfs = 1000; % 采样频率fc = 200; % 截止频率lpf = designfilt('lowpassfir', 'FilterOrder', 100, 'CutoffFrequency', fc, 'SampleRate', fs); % 低通滤波器设计```然后,可以使用“filtfilt”函数应用滤波器对混合信号进行滤波处理:```matlabx_filtered = filtfilt(lpf, x); % 滤波处理```通过滤波处理,高频噪声可以被去除,从而增强信号的质量。

白噪声(matlab)

白噪声(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仿真余弦信号与白噪声

(3)功率谱密度仿真方法:自相关函数法,又称间接法, 随机信号 x(n)的相关函数是在时间域内描述随机过程的重要特征。

自相关函数是随机信号在不同时刻的值之间的依赖性的量度,是一个很有用的统计平均量。

在随机信号处理中,自相关函数可以用来检测淹没在随机噪声干扰中的信号,随机信号的自功率谱等于它的自相关函数的傅里叶变换。

因此,通过自相关估计可求得信号的功率谱。

利用计算机计算自相关估值有两种方法。

一种是直接方法,先计算出随机信号和它的滞后序列的乘积,再取其平均值即得相关函数的估计值。

另一种是间接方法,先用快速变换算法计算随机序列的功率谱密度,再作反变换计算出相关函数。

本题则采用自相关函数法。

()(),||1Mjw jwm N m M S e R m e M N -=-=<=-∑这个实验是对白噪声与带限白噪声进行对比,其中带限白噪声 的产生是由于白噪声通过滤波器产生的,而本实验采用的是IIR 滤波器。

IIR 滤波器有如下特点:单位冲击响应h(n)是无限长的。

系统函数H (z )在有限Z 平面(1<|z|<∞)上有极点存在。

结构上存在着输出到输入的反馈,也就是结构递归型的。

因果稳定的IIR 滤波器全波极点一定在单位圆内。

一个IIR 滤波器的有理系统函数为:01()()/(1)()/()M Nk k k k k k H z b za z Y z X z --===-=∑∑clear all;randn('state',0)NFFT=1024; %采样点数Fs=1000; %取样频率(单位为Hz ) t=0:1/Fs:.2;y1=cos(t*20*pi); %余弦序列 figure(1)plot(t,y1);ylabel('余弦序列');grid on;%余弦序列的图像:%白噪声m=(0:NFFT-1)/Fs;y=0.1*randn(size(m)); %产生高斯白噪声。

matlab-正弦波-高斯白噪声-均匀白噪声-功率谱密度-自相关函数

matlab-正弦波-高斯白噪声-均匀白噪声-功率谱密度-自相关函数

现代通信原理作业一利用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白噪声正弦信号分析

1.程序设计目的机械故障诊断中,通过在机械设备上布置传感器,利用传感器采集机械设备工作时的振动信号,通过对采集得到的信号进行加工分析,从而了解设备的工作状态,达到对机械设备故障诊断的目的。

2.程序实现功能本次作业设计了一段程序分析信号,信号采用加白噪声的正弦信号,实现以下目的:1)绘制出信号时域波形图。

2)计算信号时域特征值。

3)通过快速傅里叶变换,使信号由时域转频域.4)绘制出信号的频域波形图,幅值图,相位图。

5)计算信号频域特征值。

3. 程序运行结果:00.050.1-4-2024t x (t )白噪声-0.1-0.0500.050.1-2-1012tr u(t)白噪声自相关00.050.1-4-2024t x (t)带白噪声的正弦时域图-0.1-0.0500.050.1-1000100200tr x(t )带白噪声的正弦函数自相关图一00.050.1-4-2024t x (t )带白噪声的正弦时域图05001000-20-101020频率幅值频谱图0500100000.511.5f 幅值幅值谱05001000-4-224f 相位角相位谱图二MATLAB白噪声正弦信号分析时域特性:平均值=—0。

072681最小值=-3.049843最大值=3。

859065标准差=1。

268557方差=1。

609236幅频特性:平均值=0。

840376最小值=1。

791697最大值=1。

077591标准差=12.678479方差=160。

7438204.源程序:%正弦带白噪声信号时域,频域分析%时域分析fs=1000;N=100;t=(0:N—1)/fs;n=0:N-1;mlag=100;u=randn(size(t));[ru,lags]=xcorr(u,mlag,'unbiased');x=sin(2*pi*60*t)+u;fprintf(’时域特性:\n’)ag=mean(x);fprintf(’平均值=%f\n',ag);mi=min(x);fprintf('最小值=%f\n’,mi);ma=max(x);fprintf(’最大值=%f\n’,ma);st=std(x);fprintf('标准差=%f\n’,st);fc=st.^2;fprintf(’方差=%f\n’,fc);figure(1)subplot(2,2,1)plot(t,u)xlabel(’t’);ylabel('x(t)’);title(’白噪声');subplot(2,2,2)plot(lags/fs,ru)xlabel(’t’);ylabel('ru(t)’);title('白噪声自相关’);[rx,lags]=xcorr(x,mlag);subplot(2,2,3)plot(t,x)xlabel(’t’);ylabel('x(t)’);title(’带白噪声的正弦时域图');subplot(2,2,4)plot(lags/fs,rx)xlabel(’t');ylabel(’rx(t)’);title(’带白噪声的正弦函数自相关');%频域分析figure(2)subplot(2,2,1)plot(t,x)xlabel(’t');ylabel(’x(t)’);title(’带白噪声的正弦时域图');X=fft(x,N);f=n*fs/N;mag=2*abs(X)/N;pha=angle(X);subplot(2,2,2)plot(f,X)xlabel('频率');ylabel('幅值');title(’频谱图’);subplot(2,2,3)plot(f,mag)xlabel(’f');ylabel(’幅值’);title(’幅值谱');subplot(2,2,4)plot(f,pha)xlabel('f');ylabel('相位角’);title(’相位谱');fprintf(’幅频特性:\n’);Ag=mean(X);fprintf(’平均值=%f\n’,Ag);Mi=min(X);fprintf('最小值=%f\n',Mi);Ma=max(X);fprintf(’最大值=%f\n’,Ma);St=std(X);fprintf('标准差=%f\n',St);Fc=St。

matlab常用序列

matlab常用序列

matlab常用序列Matlab常用序列序列在信号处理和数据分析中起着重要的作用,Matlab是一个功能强大的数值计算软件,提供了许多常用的序列生成函数。

本文将介绍几种常用的序列及其在实际应用中的意义。

一、单位序列单位序列(Unit Sequence)是指在某一个时刻上取值为1,其他时刻上取值为0的序列。

在Matlab中,可以使用zeros函数来生成一个全零的序列,然后将某个位置上的值设为1,即可得到单位序列。

二、阶跃序列阶跃序列(Step Sequence)是指在某一时刻之前取值为0,在该时刻之后取值为1的序列。

在Matlab中,可以使用heaviside函数来生成阶跃序列。

三、正弦序列正弦序列(Sine Sequence)是指由正弦函数生成的序列。

在Matlab 中,可以使用sin函数来生成正弦序列。

正弦序列在信号处理中常用于描述周期性信号。

四、白噪声序列白噪声序列(White Noise Sequence)是指具有平均功率谱密度的随机序列。

在Matlab中,可以使用randn函数来生成服从标准正态分布的随机序列。

五、随机序列随机序列(Random Sequence)是指具有随机性质的序列。

在Matlab中,可以使用rand函数来生成服从均匀分布的随机序列。

六、指数序列指数序列(Exponential Sequence)是指由指数函数生成的序列。

在Matlab中,可以使用exp函数来生成指数序列。

指数序列在信号处理中常用于描述衰减或增长的信号。

七、矩形序列矩形序列(Rectangular Sequence)是指在某一时刻段内取值为常数,在其他时刻上取值为0的序列。

在Matlab中,可以使用rectpuls函数来生成矩形序列。

八、三角序列三角序列(Triangle Sequence)是指由三角函数生成的序列。

在Matlab中,可以使用sawtooth函数来生成三角序列。

三角序列在信号处理中常用于描述周期性的波形。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 程序设计目的
机械故障诊断中,通过在机械设备上布置传感器,利用传感器采集机械设备工作时的振动信号,通过对采集得到的信号进行加工分析,从而了解设备的工作状态,达到对机械设备故障诊断的目的。

2. 程序实现功能
本次作业设计了一段程序分析信号,信号采用加白噪声的正弦信号,实现以下目的:
1) 绘制出信号时域波形图。

2) 计算信号时域特征值。

3) 通过快速傅里叶变换,使信号由时域转频域。

4) 绘制出信号的频域波形图,幅值图,相位图。

5) 计算信号频域特征值。

3. 程序运行结果:
图一
0.050.1-4-202
4t
x (t )
白噪声
-0.1
-0.05
00.050.1-2-1
01
2t
r u (t )
白噪声自相关
0.050.1
-4-202
4t
x (t )
带白噪声的正弦时域图
-0.1
-0.05
00.050.1
-1000100
200t
r x (t )
带白噪声的正弦函数自相关
图二
时域特性:
平均值=-0.072681 最小值=-3.049843 最大值=3.859065 标准差=1.268557 方差=1.609236 幅频特性:
平均值=0.840376 最小值=1.791697 最大值=1.077591 标准差=12.678479 方差=160.743820
4. 源程序:
%正弦带白噪声信号时域,频域分析 %时域分析 fs=1000;N=100;
t=(0:N-1)/fs;n=0:N-1; mlag=100;
u=randn(size(t));
[ru,lags]=xcorr(u,mlag,'unbiased'); x=sin(2*pi*60*t)+u;
0.050.1
-4-202
4t x (t )
带白噪声的正弦时域图0
5001000
-20-10010
20频率幅值
频谱图
5001000
0.51
1.5f
幅值
幅值谱
5001000
-4
-2
02
4f
相位角
相位谱
fprintf('时域特性:\n')
ag=mean(x);fprintf('平均值=%f\n',ag);
mi=min(x);fprintf('最小值=%f\n',mi);
ma=max(x);fprintf('最大值=%f\n',ma);
st=std(x);fprintf('标准差=%f\n',st);
fc=st.^2;fprintf('方差=%f\n',fc);
figure(1)
subplot(2,2,1)
plot(t,u)
xlabel('t');ylabel('x(t)');title('白噪声');
subplot(2,2,2)
plot(lags/fs,ru)
xlabel('t');ylabel('ru(t)');title('白噪声自相关');
[rx,lags]=xcorr(x,mlag);
subplot(2,2,3)
plot(t,x)
xlabel('t');ylabel('x(t)');title('带白噪声的正弦时域图'); subplot(2,2,4)
plot(lags/fs,rx)
xlabel('t');ylabel('rx(t)');title('带白噪声的正弦函数自相关'); %频域分析
figure(2)
subplot(2,2,1)
plot(t,x)
xlabel('t');ylabel('x(t)');title('带白噪声的正弦时域图');
X=fft(x,N);
f=n*fs/N;
mag=2*abs(X)/N;
pha=angle(X);
subplot(2,2,2)
plot(f,X)
xlabel('频率');ylabel('幅值');title('频谱图');
subplot(2,2,3)
plot(f,mag)
xlabel('f');ylabel('幅值');title('幅值谱');
subplot(2,2,4)
plot(f,pha)
xlabel('f');ylabel('相位角');title('相位谱');
fprintf('幅频特性:\n');
Ag=mean(X);fprintf('平均值=%f\n',Ag);
Mi=min(X);fprintf('最小值=%f\n',Mi);
Ma=max(X);fprintf('最大值=%f\n',Ma);
St=std(X);fprintf('标准差=%f\n',St);
Fc=St.^2;fprintf('方差=%f\n',Fc);。

相关文档
最新文档