ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【数字基带信号】基于matlab数字双相码仿真【含Matlab源码 989期】

2021-06-19 13:34:33  阅读:251  来源: 互联网

标签:采样 数字 矩阵 源码 Manchester zeros dt original 双相


一、简介

双相码,又名曼彻斯特码,其编码规则是:将信息代码 0 编码为线路码“01”,将信息代码1为线路码“10”双相码常用于局域网传输,每一位的中间的跳变,既作时钟信号,又作数据信号。

二、源代码

close all
clear all
%采样点数的设置
k=14;
%每码元采样数的设置
L=128;
N=2^k;
M=N/L;%M为码元个数
dt=1/L;%时域采样间隔
T=N*dt;%时域截断区间
df=1.0/T;%频域采样间隔
Bs=N*df/2;%频域截断区间
t=linspace(-T/2,T/2,N);%产生时域采样点
f=linspace(-Bs,Bs,N);%产生频域采样点
EP1=zeros(size(f));
EP2=zeros(size(f));
EP3=zeros(size(f));
for x=1:1000                   % 取样1000次
  K=round(rand(1,M));          %产生一个长度为M的随机序列K,0和1等概出现
  original=zeros(L,M);           %产生一个L行M列的original矩阵,初始化为全0矩阵
  Manchester =zeros(L,M);    %产生一个L行M列的Manchester矩阵,初始化为全0矩阵
  for i=1:M 
      if K(i)==1
          original (:,i)=1;%原码
          Manchester (1:L/2,i)=1;  %使manchester矩阵第i列前L/2个元素为1
      else
          original (:,i)=0;%原码
          Manchester (:,i)=1;    %使manchester矩阵第i列为1
          Manchester (1:L/2,i)=0; %使manchester矩阵第i列前L/2个元素为0
      end
  end
    %分别重排nrz、manchester矩阵为1行N列的矩阵
    original =reshape(original,1,N);
    Manchester =reshape(Manchester,1,N);
     %做傅里叶变换并算出功率谱密度
    ORIGINAL =t2f(original,dt);
    P1=ORIGINAL.*conj(ORIGINAL)/T;
    MANCHESTER=t2f(Manchester,dt);
    P2=MANCHESTER.*conj(MANCHESTER)/T;
    %求功率谱密度的均值
    EP1=(EP1*(x-1)+P1)/x;
    EP2=(EP2*(x-1)+P2)/x;
end
figure(1)                      %开启一个编号为1的绘图窗口
subplot(2,2,1);
plot(t,original);                 %画原码的时域图
axis([-3,3,min(original)-0.1,max(original)+0.1]);
title('原码','fontsize',12);
xlabel('t(ms)','fontsize',12);
ylabel('original(t)','fontsize',12);
grid on
subplot(2,2,2);
function X=t2f(x,dt)
    X=fftshift(fft(x))*dt;

三、运行结果

在这里插入图片描述

四、备注

版本:2014a
完整代码或代写加1564658423

标签:采样,数字,矩阵,源码,Manchester,zeros,dt,original,双相
来源: https://www.cnblogs.com/homeofmatlab/p/14902699.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有