⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 延迟调制码.m

📁 通原实验课上的作业
💻 M
字号:
%时间单位 us 频率单位 MHz 码元速率 Mb/s
clear all
close all
clc
%k=input('取样点数=2^k,k=[14]');
%if isempty(k),
	k=14;
%end;
%Rt=0.5;
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;	%频域系统带宽

Ep=zeros(1,L*M*2);
for ii=1:50
a=round(rand(1,M));
b=[~a;a];  %产生2行M列序列,第1行将第2行的0变为1,1变为0
for i=1:length(b)-1
if and(b(2,i),b(1,i+1))
b(1,i+1)=0;  %根据密勒码规则,第2行的i位不能与第一行i+1位同时为1
end
end
b=reshape(b,1,2*length(b));
    
c=zeros(1,length(b));
c=xor(b(1),1);
for i = 2:length(b)
c(i) = xor(c(i-1),b(i));   %差分编码
end 
c= 2*(c-0.5);    %将1 0分别映射为+1 -1
delay=zeros(L,2*M);
for tt=1:L
    delay(tt,:)= c;
end

delay = reshape(delay,1,M*L*2);   %产生延迟调制码
DELAY=t2f(delay,dt);   %傅里叶变换
P=DELAY.*conj(DELAY)/T;   %功率谱密度
Ep=(Ep*(ii-1)+P)/ii;
end;
    
figure(1)   %频域图
set(1,'position',[10,50,300,200])
f=linspace(-Bs,Bs,length(Ep));   %频域横坐标  
aa=30+10*log10(Ep+eps);
plot(f,aa,'r')
grid on
axis ([-5,5,-50,50])
xlabel('f(MHz)')
ylabel('Ps(f)(dBm/MHz)')
figure(2)
set(2,'position',[350,50,300,200])

figure(2)   %时域图
t=linspace(0,T,length(delay));	%时域横坐标
plot(t,delay,'b')
grid on
axis([0,10,-1.5,1.5])
xlabel('t(us)')
ylabel('s(t)(v)');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -