QPSK matlab 调制解调代码

  • A6_670317
    了解作者
  • matlab
    开发工具
  • 5.1KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-02-21 17:16
    上传日期
国外比较经典的MATLAB 关于QPSK调制、解调代码,每一模块都非常详细,程序书写较为规范,可作为初学者学习范例。对于想了解DQPSK工作原理的技术开发人员,也有一定帮助。
QPSK matlab 调制解调代码
  • QPSK_国外经典QPSK代码仿真
  • TransmitFilter.m
    639B
  • DQPSKDecoder.m
    444B
  • Receivefilter.m
    1KB
  • Qpsk_modulation.m
    2.2KB
  • CalcPhase.m
    519B
  • SymbolToWaveform.m
    303B
  • WaveformToSymbol.m
    213B
  • SerialToParallel.m
    241B
  • DQPSKEncoder.m
    1.1KB
  • ParallelToStream.m
    363B
内容介绍
% case1: AWGN Channel clear clc close all numSamplesPerSymbol=8; BitRate = 16000; BaudRate = BitRate/2; SymbolDuration = 1/BaudRate; SamplingFrequency= numSamplesPerSymbol * BaudRate; nIters = 20; LogEbN0=[0:10]; lenSIm=length(LogEbN0); % Symbol Repetition -- hTransmitFilter = ones(1,numSamplesPerSymbol); hReceiveFilter = hTransmitFilter; AvBER = zeros(1,lenSIm); % Symbol Repeitition for EbN0Index = 1:lenSIm for iters=1:nIters %The transmitter BitStreamLength = 10000; BitStream = rand(1, BitStreamLength) > 0.5; [BitStreamOne, BitStreamTwo ] = SerialToParallel( BitStream); [I_SymbolsTx, Q_SymbolsTx] = DQPSKEncoder(BitStreamOne, BitStreamTwo); [I_WaveformTx, Q_WaveformTx] = TransmitFilter(I_SymbolsTx, Q_SymbolsTx, ... hTransmitFilter, numSamplesPerSymbol ); % Power Calculation EbN0 = 10^( LogEbN0(EbN0Index) / 10); Eb1=sum(I_WaveformTx .* I_WaveformTx) / BitStreamLength; Eb2=sum(Q_WaveformTx .* Q_WaveformTx) / BitStreamLength; N0 = (Eb1+Eb2) / EbN0; sigma_N0=sqrt(N0); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Channel Transmit %%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % [I_WaveformRx, Q_WaveformRx] = AWGNChannel(I_WaveformTx, Q_WaveformTx, N0); I_WaveformRx = I_WaveformTx+ sigma_N0; Q_WaveformRx = Q_WaveformTx + sigma_N0; [I_SymbolRx, Q_SymbolRx] = Receivefilter(I_WaveformRx, Q_WaveformRx, ... hReceiveFilter, numSamplesPerSymbol); [BitStreamOneRx, BitStreamTwoRx] = DQPSKDecoder(I_SymbolRx, Q_SymbolRx); BitStreamRx = ParallelToStream(BitStreamOneRx, BitStreamTwoRx); Errors=sum( BitStream ~= BitStreamRx); BER(iters) = Errors/BitStreamLength; end AvBER( EbN0Index ) = sum(BER) / nIters ; end semilogy(LogEbN0, AvBER, '*'); grid on xlabel('Eb/No(dB)'); ylabel('Pe');
评论
    相关推荐
    • Matlab合集
      冈萨雷斯数字图像处理MATLAB版.中文版+数字图像处理第二版中文版(冈萨雷斯)+MATLAB-R2014a完全自学一本通+MATLAB R2016a完全自学一本通 素材文件+[模式识别与智能计算:MATLAB技术实现(第2版)].杨淑莹.扫描版
    • MATLAB教程
      MATLAB教程MATLAB教程MATLAB教程MATLAB教程MATLAB教程MATLAB教程
    • MATLAB
      MATLAB 该项目是在matlab上完成的,涉及创建和移动宇宙飞船和机器人。 太空飞船和机器人是使用Matlab中的简单几何形状创建的,并通过连续变换矩阵进行移动。 这个项目教我如何使用变换矩阵(旋转,平移等)的概念...
    • MATLAB基础
      一本学习matlab的一本好书
    • MATLAB编译器
      基于MATLAB 2018b版本介绍MATLAB编译器。介绍如何利用编译器将MATLAB代码编译为独立应用程序或组件,并在没有安装MATLAB的计算机上进行部署。
    • matlabruntime
      通过奇点容器运行您的matlab项目 可以在没有MATLAB的容器中运行matlab代码。 为此,我们首先需要通过Matlab编译器在本地构建相应的Matlab代码的独立应用程序,然后使用具有Matlab运行时( 的容器)运行该应用程序 )...
    • matlab实现
      matlab实现 matlab实现matlab实现matlab实现matlab实现
    • matlab 教程
      matlab 信号处理资料,里面包含信号处理pdf文档,一些杂乱的程序和命令等
    • matlab教程
      matlab教程,PPT格式,包含 matlab基本知识、matlab入门、matlab作图、线性规划、无约束优化、非线性规划、统计工具箱、差值、微分方程等多项知识点,并且每个知识点独立成为PPT,内还含有matlab信号处理详解等文档...
    • matlab简介
      1.MATLAB 开发环境 1.1 MATLAB 的视窗环境 进入MATLAB之后,会看到一个视窗MATLAB Command Window称为指令视窗,它是你键入指令的地方同时 MATLAB也将计算结果显示在此。 1.2 简易计算 我们先从MATLAB的...