返回信息流以下是我编的程序,可就是不对...哪个大虾懂给小弟我指点一下啊,明天就要交了...谢谢了
%数字双相码
%时间单位 us 频率单位 MHz 码元速率 Mb/s
clear all
close all
k=input('取样点数=2^k,k=[14]');
if isempty(k),
k=10;
end
N=2^k; %采样点数
L=64; %每码元采样点数
M=N/L; %码元数
Rb=2; %码元速率
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]; %频域横坐标
x=round(rand(1,M));
y=zeros(1,2*M);
i=1;
for i=1:M
if(x(i)==1) %输入为1,则
y(1,2*i-1)=1; %前半时间为1
y(1,2*i)=0; %后半时间为0
else
y(1,2*i-1)=0;
y(1,2*i)=1;
end;
end;
Y=t2f(y,dt);
P=Y.*conj(Y)/T;
figure(1)
set(1,'position',[10,50,300,200])
plot(f,P,'r')
grid on
axis([-5,5,-50,50])
xlabel('f(MHz)')
ylabel('Ps(f)(dBm/MHz)')
figure(2);
set(2,'position',[100,150,500,400]);
plot(t,y,'b')
grid on
axis([-5,5,-0.5,1.5])
xlabel('t(us)')
ylabel('s(t)(V)')
这是错误的信息:
??? Error using ==> plot
Vectors must be the same lengths.
Error in ==> C:\Documents and Settings\NGN\桌面\homework\forth.m
On line 36 ==> plot(f,P,'r')
其中t2f是这样编的:
function X=t2f(x,dt)
X=fftshift(fft(x))*dt;
这是一条镜像帖。来源:北邮人论坛 / matlab / #3156同步于 2008/4/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
【求助】问个小问题
NextBlue
2008/4/5镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
【 在 NextBlue 的大作中提到: 】
: 以下是我编的程序,可就是不对...哪个大虾懂给小弟我指点一下啊,明天就要交了...谢谢了
: %数字双相码
: %时间单位 us 频率单位 MHz 码元速率 Mb/s
: ...................
%数字双相码
%时间单位 us 频率单位 MHz 码元速率 Mb/s
clear all
close all
k=input('取样点数=2^k,k=[14]');
if isempty(k),
k=10;
end
N=2^k; %采样点数
L=64; %每码元采样点数
M=N/L; %码元数
Rb=2; %码元速率
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]; %频域横坐标
x=round(rand(1,M));
y=zeros(1,2*M);
i=1;
for i=1:M
if(x(i)==1) %输入为1,则
y(1,2*i-1)=1; %前半时间为1
y(1,2*i)=0; %后半时间为0
else
y(1,2*i-1)=0;
y(1,2*i)=1;
end;
end;
%Y=t2f(y,dt);
for ii=1:L/2
yy(ii,:)=y;
end;
yy=reshape(yy,1,N);%这里是新的y
Y=fftshift(fft(yy))*dt; %这里我直接用了没用函数调用
P=Y.*conj(Y)/T;
figure(1)
set(1,'position',[10,50,300,200])
plot(f,P,'r')
grid on
axis([-5,5,-50,50])
xlabel('f(MHz)')
ylabel('Ps(f)(dBm/MHz)')
figure(2);
set(2,'position',[100,150,500,400]);
plot(t,yy,'b')
grid on
axis([-5,5,-0.5,1.5])
xlabel('t(us)')
ylabel('s(t)(V)')