BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #4870同步于 2009/3/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

画单极性不归零码及其功率谱的问题

youbupt
2009/3/17镜像同步1 回复
想问一下以下代码中红色部分是什么意思,为什么这么求功率?谢谢了! 画出单极性不归零码及其功率谱 global dt df t f N%全局变量 close all k=14 N=2^k; %采样点数 L=64; %每码元的采样点数 M=N/L; %码元数 Rb=2; %码速率是2Mb/s Ts=1/Rb; %码元间隔 dt=Ts/L; %时域采样间隔 df=1/(N*dt); %频域采样间隔 T=N*dt; %截短时间 Bs=N*df/2; %系统带宽 t=[-T/2+dt/2:dt:T/2];%时域横坐标 f=[-Bs+df/2:df:Bs]; %频域横坐标 EP=zeros(size(f)); for jj=1:100 a=round(rand(1,M)); %码元矢量 s=zeros(1,N); for ii=1:L s(ii+[0:M-1]*L)=a; end %产生NRZ码 S=t2f(s); P=S.*conj(S)/T; %功率谱 EP=(EP*(ii-1)+P)/ii; %累计平均 aa=30+10*log10(EP+eps); %加eps以避免除以零 end hold on figure(1) set (1,'position',[10,50,300,200]);%设定窗口位置及大小 figure(2) set(2,'position',[350,50,300,200]);%设定窗口位置及大小 figure (1) plot(f,aa,'g'); grid axis([-10,+10,-50,+50]) xlabel('f(MHZ)') ylabel('Ps(f)(MHZ)') figure(2) plot(t,s,'b') grid axis([-10,+10,-1,+2]) xlabel('t(us)') ylabel('s(t)(V)')
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
wgggfiy机器人#1 · 2009/3/23
呵呵,一看就知道也是和我一样做软件实验的,话说当初我也看了很久才看懂的。P=S.*conj(S)/T; 这个就是求确定性信号功率的,而这是随机信号就得用平均来做。 EP=(EP*(ii-1)+P)/ii; %累计平均 当ii=1时,EP=P;ii=2时,EP=(EP+P)/2; 当ii=3时,EP= (2EP+P)/3…… 注意:这些是放在for循环里面的,也就是求和了 最后aa=30+10*log10(EP+eps); 这个就是将实际功率转化为了以dBm这个东西为单位了,没啥其它意思,这个单位在这学期的移动通信课本中有的,好象是19页