www.gusucode.com > matlab通信工程仿真源码(张德丰等编著)程序书籍 > matlab_code/matlab通信工程仿真源码(张德丰等编著)/第7章/li7_6.m
clear all; fs=500; %采样率 Df=1; %频率分辨率 N=floor(fs/Df)+1; %计算的序列点数 t=0:1/fs:(N-1)/fs; %截取信号的时间段 F=0:Df:fs; %功率谱估计的频率分辨率和范围 %截取时间段上的离散信号样点序列 xk=sin(2*pi*50*t)+2*sin(2*pi*130*t)+randn(1,length(t)); Pxx=abs(fft(xk)).^2/(N^2); %功率谱估计 Pav_timedomain=sum(xk.^2)/N %在时域计算信号功率 Pav_freqdomain=sum(Pxx) %通过功率谱计算信号功率 plot(F,10*log10(Pxx)); %作出功率谱密度图 xlabel('频率 Hz');ylabel('功率谱 dB'); clear all; fs=500; %采样率 Df=1; %频率分辨率 N=floor(fs/Df)+1; %计算的序列点数 t=0:1/fs:(N-1)/fs; %截取信号的时间段 F=0:Df:fs; %功率谱估计的频率分辨率和范围 %截取时间段上的离散信号样点序列 xk=sin(2*pi*50*t)+2*sin(2*pi*130*t)+randn(1,length(t)); Pxx=(abs(fft(xk(1:167))).^2+abs(fft(xk(168:334))).^2+... abs(fft(xk(335:501))).^2)/3/((N/3)^2); Pav_timedomaim=sum(xk.^2)/N %在时域计算信号功率 Pav_freqdomain=sum(Pxx) %通过功率谱计算信号功率 plot(0:3:fs,10*log10(Pxx)); %作出功率谱密度图 xlabel('频率 Hz'); ylabel('功率谱 dB'); clear all; fs=500; %采样率 Df=1; %频率分辨率 N=floor(fs/Df)+1; %计算的序列点数 t=0:1/fs:(N-1)/fs; %截取信号的时间段 F=0:Df:fs; %功率谱估计的频率分辨率和范围 %截取时间段上的离散信号样点序列 xk=sin(2*pi*50*t)+2*sin(2*pi*130*t)+randn(1,length(t)); Pxx=(abs(fft(xk(1:167))).^2+abs(fft(xk(83:249))).^2+... abs(fft(xk(168:334))).^2+abs(fft(xk(250:416))).^2+... abs(fft(xk(335:501))).^2)/5/((N/3)^2); Pav_timedomaim=sum(xk.^2)/N %在时域计算信号功率 Pav_freqdomain=sum(Pxx) %通过功率谱计算信号功率 plot(0:3:fs,10*log10(Pxx)); %作出功率谱密度图 xlabel('频率 Hz'); ylabel('功率谱 dB'); clear all; fs=500; %采样率 Df=1; %频率分辨率 N=floor(fs/Df)+1; %计算的序列点数 t=0:1/fs:(N-1)/fs; %截取信号的时间段 F=0:Df:fs; %功率谱估计的频率分辨率和范围 %截取时间段上的离散信号样点序列 xk=sin(2*pi*50*t)+2*sin(2*pi*130*t)+randn(1,length(t)); w=hann(167)'; %汉宁窗 %使用汉宁窗与矩形窗等能量,即加窗后不对信号功率产生影响 w=w*sqrt(167/sum(w.*w)); Pxx=(abs(fft(xk(1:167))).^2+abs(fft(xk(83:249))).^2+... abs(fft(xk(168:334))).^2+abs(fft(xk(250:416))).^2+... abs(fft(xk(335:501))).^2)/5/((N/3)^2); Pav_timedomaim=sum(xk.^2)/N %在时域计算信号功率 Pav_freqdomain=sum(Pxx) %通过功率谱计算信号功率 plot(0:3:fs,10*log10(Pxx)); %作出功率谱密度图 xlabel('频率 Hz'); ylabel('功率谱 dB');