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

📄 digit_baseband_ami_hdb3.m

📁 通信原理中所介绍到的有关AMI,HDB3编码的matlab程序
💻 M
字号:
clear all;
close all;
Ts=1;
N_sample=8;%每个码元的抽样点数
dt=Ts/N_sample;%抽样时间间隔
N=20;%码元数
t=0:dt:(N*N_sample-1)*dt;
gt=ones(1,N_sample);%NRZ非归零波形
d=(sign(randn(1,N))+1)/2;%产生一串随机的二进制序列
[d1]=AMI(d);
[d2]=HDB3(d);
[id1]=IAMI(d1);
[id2]=IHDB3(d2);

data=sigexpand(d,N_sample);%对序列间隔插入N_sample-1个0
data1=sigexpand(d1,N_sample);
data2=sigexpand(d2,N_sample);
data3=sigexpand(id1,N_sample);
data4=sigexpand(id2,N_sample);

st=conv(data,gt);
st1=conv(data1,gt);
st2=conv(data2,gt);%调用Matlab卷积形成单极性NRZ和RZ波形
st3=conv(data3,gt);
st4=conv(data4,gt);

[f,stf]=T2F(t,[st(1:length(t))]);
[f,st1f]=T2F(t,[st1(1:length(t))]);%傅立叶变换单极性NRZ
[f,st2f]=T2F(t,[st2(1:length(t))]);%傅立叶变换单极性RZ


%显示单极性NRZ信号的波形和频谱
figure(1);
subplot(4,2,1);
plot(t,[st(1:length(t))]);%显示时域波形
grid;
axis([0 20 -1.5 1.5]);%上述显示到1000太密了,所以让它现实到20就可以了,为了不让波形顶天立地,所以y轴从-1.5到1.5
ylabel('原输入波形');
subplot(4,2,2);
T=t(end);
plot(f,10*log10(abs(stf).^2/T));grid;%功率谱密度的公式就是频谱的平方/时间,化成dB数
axis([-5 5 -40 10]);
ylabel('原信号功率谱密度');

%显示单极性RZ信号的波形和频谱
subplot(4,2,3);
plot(t,[st1(1:length(t))]);%显示时域波形
grid;
axis([0 20 -1.5 1.5]);%上述显示到1000太密了,所以让它现实到20就可以了,为了不让波形顶天立地,所以y轴从-1.5到1.5
ylabel('AMI码波形');
subplot(4,2,4);
T=t(end);
plot(f,10*log10(abs(st1f).^2/T));grid;%功率谱密度的公式就是频谱的平方/时间,化成dB数
axis([-5 5 -40 10]);
ylabel('AMI码功率谱密度');

%显示双极性Sa信号的波形和频谱
subplot(4,2,5);
plot(t,[st2(1:length(t))]);%显示时域波形
grid;
axis([0 20 -1.5 1.5]);%上述显示到1000太密了,所以让它现实到20就可以了,为了不让波形顶天立地,所以y轴从-1.5到1.5
ylabel('HDB3码波形');
subplot(4,2,6);
T=t(end);
plot(f,10*log10(abs(st2f).^2/T));grid;%功率谱密度的公式就是频谱的平方/时间,化成dB数
axis([-5 5 -40 10]);
ylabel('HDB3码功率谱密度');


subplot(4,2,7);
plot(t,[st3(1:length(t))]);%显示时域波形
grid;
axis([0 20 -1.5 1.5]);%上述显示到1000太密了,所以让它现实到20就可以了,为了不让波形顶天立地,所以y轴从-1.5到1.5
ylabel('AMI解码波形');



subplot(4,2,8);
plot(t,[st4(1:length(t))]);%显示时域波形
grid;
axis([0 20 -1.5 1.5]);%上述显示到1000太密了,所以让它现实到20就可以了,为了不让波形顶天立地,所以y轴从-1.5到1.5
ylabel('HDB3解码波形');

⌨️ 快捷键说明

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