资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
随机信号分析大作业学院:电子工程学院学号:1.23 设有随机初相信号X(t)=5cos(t+𝛗),其中相位𝛗是在区间(0,2𝛑)上均匀分布的随机变量。试用Matlab编程产生其三个样本函数。Matlab代码:clc; clear% 产生连续均匀分布在区间(0, 2*pi)的随机数组fi = unifrnd(0, 2*pi, 1, 3);for k = 1:3 for t = 1:100 x(k, t) = 5*cos(0.025*pi*t + fi(k); end plot(x(k,:); hold on;endxlabel(t); ylabel(X(t);grid on; axis tight;title(随机初相信号的三条样本曲线);结果:2.22 利用 Matlab 程序设计一正弦信号加高斯白噪声的复合信号。1. 分析复合信号的功率谱密度,幅度分布特性; 2. 分析复合信号通过 RC 积分电路后的功率谱密度和相应的幅度分布特性;3. 分析复合信号通过理想低通系统后的功率谱密度和相应的幅度分布特性;(1) 正弦信号的频率、采样信号的频率、信噪比分别设定为fc、fs、 N,并利用awgn函数得出加入高斯白噪声的复合信号的波形。利用傅里叶变换得出复合信号的频谱特性,之后再利用xcorr函数得出复合信号的自相关系数,并通过自相关系数的傅里叶变换得到功率谱密度曲线图。Matlab代码:clear; clc;% 正弦信号频率10Hzfc = 10; % 采样信号频率100Hzfs = 100; t = 0:1/fs:2;n = 2*fs + 1;x = sin(2*pi*fc*t);% 在某信号x中加入高斯白噪声y = awgn(x, 2);% 复合信号做傅里叶变换Fy = fft(y);% 将零频点移到频谱的中间FY1 = fftshift(Fy);f = (0:n-1)*fs/n - fs/2;plot(f, abs(FY1);title(复合信号的幅度分布特性);xlabel(w);ylabel(F(jw);grid on;% C为复合信号的自相关函数(无偏估计)R, a = xcorr(y,unbiased);% FY2对自相关函数求傅里叶变换,即功率谱密度FY2 = fft(R);FY3 = fftshift(FY2);figure(2);plot(a*0.25, abs(FY3);title(复合信号的功率谱密度);xlabel(w);ylabel(G(w);grid on结果:分析:复合信号的幅度谱和功率谱在各个频率上都有分量,80%以上的功率分布在正弦信号的频率附近。(2). 复合信号通过RC电路时,可通过将复合信号和系统的冲击响应卷积得到输出电压,再利用(1)中的方法进行求解。Matlab代码:% 采样信号频率, 正弦信号频率fs = 100; fc = 20;R = 10; C = 0.05;% 时常数T = 1 / (R * C);t = 0:1/fs:2;n = 2*fs + 1;% RC积分器的冲击响ht = exp(-T*t);x = sin(2*pi*fc*t);y = awgn(x,2);% 复合信号通过RC电路后的信号,卷积求得uc = conv(ht, y);% 求复合信号通过RC电路后的傅里叶变换,即求幅频特性Fuc = fftshift(fft(uc(n:2*n-1);f = (0:n-1)*fs/n - fs/2;plot(f, abs(Fuc/(n-1);title(复合信号通过RC积分电路后的幅度分布特性);xlabel(f/Hz);ylabel(F(f);grid on; %求复合信号通过RC电路后的自相关函数Ruc,a=xcorr(uc(n:2*n-1),unbiased);%自相关函数求傅里叶变换,即功率谱密度 Guc = fftshift(fft(Ruc); figure(2);plot(a*0.25, abs(Guc/(n-1);title(复合信号通过RC积分电路后的功率谱密度分布);xlabel(f);ylabel(G(f);分析:由于RC积分电路为低通滤波器,所以幅度和功率主要分布在低频段,在谐振频率点20Hz幅度和功率较大。在零频率点,幅度和功率达到最大值。(3) 复合信号通过低通滤波电路时,利用fir1和fir1ter函数得出低通滤波后的信号,再利用(1)中的方法进行求解。Matlab代码clear; clc;fs = 100; fc = 10;t = 0:1/fs:2;n = 2*fs + 1;x = sin(2*pi*fc*t);y = awgn(x, 2);subplot(3, 1, 1);plot(t, y);title(复合信号的时域图);xlabel(t/s); ylabel(U);grid on;N = 32;Wn = 0.24;b = fir1(N, Wn);y0 = filter(b, 1, y);Fy1 = fftshift(fft(y0);f = (0:n-1)*fs/n - fs/2;subplot(3, 1, 2);plot(f, abs(Fy1);title(低通滤波后信号的频谱特性曲线);xlabel(f);ylabel(H(f);grid on;R2, a = xcorr(y0, unbiased);FY2 = fftshift(fft(R2); subplot(3, 1, 3);plot(a*0.25,abs(FY2);title(低通滤波后信号的功率谱密度曲线);ylabel(G(f);xlabel(f);grid on;分析:通过低通滤波器后,复合信号的低频分量保留,高频分量被抑制。3. 利用matlab程序分别设计一正弦型信号、高斯白噪声信号。(1)分别分析正弦信号、高斯噪声以及两者复合信号的功率谱密度、幅度分布特性;(2)分别求(1)中的三种信号的Hilbert变换,并比较功率谱和幅度分布的变化;(3)分别求(1)中的三种信号的对应复信号,并比较功率谱和幅度分布的变化;(1) 分析:利用经典功率谱估计直接法, Matlab中的periodogram函数。% periodogram是用来计算功率谱密度的,参数中,% X:所求功率谱密度的信号;% window:所使用的窗口,默认是boxcar,其长度必须与x的长度一致;% nfft:采样点数;% fs:采样频率。Matlab代码:% 采用频率,信号频率fs = 100; fc = 10;t = 0:1/fs:2;x = sin(2*pi*fc*t);% 高斯白噪声1dbwnoise = (wgn(length(t),1,0.1);y = x + noise;subplot(3,1,1);plot(t,x);title(正弦信号曲线);ylabel(x);xlabel(t);subplot(3,1,2);plot(t,noise);title(高斯白噪声曲线);ylabel(noise);xlabel(t);subplot(3,1,3);plot(t,y);title(正弦信号加高斯白噪声的复合信号曲线);ylabel(y);xlabel(t);figure(2);x_fft = fft(x);subplot(3,1,1);plot(t,abs(x_fft);title(正弦信号幅度谱);ylabel(x_fft);xlabel(t);nfft = 200;% 产生矩形窗window = boxcar(length(x);Pxx,f = periodogram(x,window,nfft,fs); subplot(3,2,2);plot(f,10*log10(Pxx);title(正弦信号功率谱);ylabel(Gx);xlabel(t);noise_fft = fft(noise);subplot(3,2,3);plot(t,abs(noise_fft);title(高斯白噪声幅度谱);ylabel(noise_fft);xlabel(t);nfft = 200;window = boxcar(length(noise); Pxx,f = periodogram(noise,window,nfft,fs); subplot(3,1,1);plot(f,10*log10(Pxx);title(高斯白噪声功率谱);ylabel(Gnoise);xlabel(t);y_fft=fft(y);subplot(3,1,2);plot(t,abs(y_fft);title(正弦信号加高斯白噪声幅度谱);ylabel(y_fft);xlabel(t);nfft=200;window = boxcar(length(y);Pxx,f = periodogram(y,window,nfft,fs); subplot(3,1,3);plot(f,10*log10(Pxx);title(正弦信号加高斯白噪声功率谱);ylabel(Gy);xlabel(t)(2) 分析通过傅里叶变化在将频谱搬移画出信号幅度频域图,再通过经典功率估计法,利用窗函数计算信号的功率,得到的是功率的单边谱。Matla代码:fs = 100; fc = 10;t = 0:1/fs:2;x = sin(2*pi*fc*t);n = 2*fs + 1;f = (0:n-1)*fs/n - fs/2;% 高斯白噪声noise = (wgn(length(t),1,10);y = x+noise;figure(1);% 希尔伯特变换x_hilbert = hilbert(x);x_hilbert_fft = fftshift(fft(x_hilbert);subplot(2,1,1);plot(f,abs(x_hilbert_fft/n);title(正弦信号幅度谱);ylabel(X);xlabel(f/Hz);grid on;nfft = 200;window = boxcar(length(x_hilbert); Pxx,F = periodogram(x_hilbert,window,nfft,fs); subplot(2,1,2);plot(F,10*log10(Pxx);title(正弦信号功率谱);axi
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号