Voyager-2-Error-Correction-Codes-master.zip

  • xxy-ixq
    了解作者
  • matlab
    开发工具
  • 5.1MB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2021-12-30 15:52
    上传日期
RS可用代码,经过初步调试与筛查,RS码
Voyager-2-Error-Correction-Codes-master.zip
  • Voyager-2-Error-Correction-Codes-master
  • graphsAndData
  • earthUncoded.png
    1.2MB
  • earthV2RSV.png
    840.1KB
  • BER.png
    34.4KB
  • BER_SNR1-10.mat
    897B
  • testImages
  • earth.png
    695KB
  • windows.png
    1.7MB
  • 4k.png
    699.1KB
  • legacyScripts
  • imageTest.m
    1.4KB
  • ConcatenatedRSVImage.m
    893B
  • addNoise.m
    471B
  • CovolutionalCode.m
    2.8KB
  • compareCodes.m
    3.1KB
  • simulateConvolutionalCode.m
    1.2KB
  • simulateReedSolomon.m
    2.2KB
  • simulateConcatenatedRSV.m
    2.2KB
  • simulateTransmission.m
    631B
内容介绍
% BER Cuve Generation w/ Noisy BPSK Transmission Simulation % % By Matthew Luyten and Luis Cisneros % % This code simulates the transmission of about 300 million bits over a % BPSK channel over a range of SNR values in dB. All three of the ECC's are % simulated in this fashion, as well as an uncoded control. The quantity of % bit errors for each implementation at each SNR value is tracked and used % to create BER curves for each ECC schema as well as the uncoded control. images = {'./testImages/windows.png'}; % Defines desired image files for transmission totalBits = 0; numPasses = 6; snrArray = (0:0.5:8); % Defines the various SNR values to be tested % Preallocates arrays to keep track of the number of errors at each SNR % value uncodedErrors = zeros(1,length(snrArray)); convErrors = zeros(1,length(snrArray)); rsErrors = zeros(1,length(snrArray)); rsvErrors = zeros(1,length(snrArray)); for i = 1:numPasses % Transmits image 6 times to increase # of transmitted bits for im = images % Loads the image and stores its dimensions image = uint8(imread(string(im))); imageDim = size(image); bitstream = reshape(de2bi(image, 'left-msb'), 1, []); % Simulates transmission w/ each schema over an array of SNR values for index = 1:length(snrArray) uncoded = simulateTransmission(bitstream,snrArray(index)); convolutional = simulateConvolutionalCode(bitstream,snrArray(index)); reedSolomon = simulateReedSolomon(bitstream,snrArray(index)); reedSolomonViterbi = simulateConcatenatedRSV(bitstream,snrArray(index)); % Calculates the number of inverted bits after transmission uncodedErrors(index) = uncodedErrors(index) + sum(abs(bitstream-uint8(uncoded))); convErrors(index) = convErrors(index) + sum(abs(bitstream-uint8(convolutional))); rsErrors(index) = rsErrors(index) + sum(abs(bitstream-uint8(reedSolomon))); rsvErrors(index) = rsvErrors(index) + sum(abs(bitstream-uint8(reedSolomonViterbi))); % Alerts the User of the last simulation's SNR and the number % of passes completed msg = strjoin(['Pass', string(i), 'of', string(numPasses), '- SNR:', string(snrArray(index))]); disp(msg); end totalBits = totalBits + length(bitstream); % Keeps track of the total number of bits transmitted. end end % Calculates the various BER values for each implementation uncodedBER = uncodedErrors/totalBits; convBER = convErrors/totalBits; rsBER = rsErrors/totalBits; rsvBER = rsvErrors/totalBits; % Displays plots the BER curves clf; lineseries = semilogy(snrArray, uncodedBER, 'o-'); hold on; lineseries = semilogy(snrArray, convBER, 'o-'); hold on; lineseries = semilogy(snrArray, rsBER, 'o-'); hold on; lineseries = semilogy(snrArray, rsvBER, 'o-'); grid on; xlabel('SNR (dB)'); ylabel('Bit Error Rate (BER)'); title('BER Curves'); legend('Uncoded', 'K=7, Rate 1/2 Convolutional Code', 'RS(255, 223) Code', 'V2 RSV Code');
评论
    相关推荐
    • RS码仿真.rar
      RS码进行编码译码,再得出在不同信噪比下的误码率
    • RS码.rar
      matlab rs码相关编码,包含编解码等内容
    • RS码.zip
      rs编码,bpsk调制通信系统,有注释较为复杂
    • 好例子网_rs码编译码源代码.rar
      RS纠错源代码,很好用,分享给大家,vc直接编译可用
    • RS码MATLAB仿真
      RS编码译码的MATLAB计算机仿真,包括交织,巴克
    • rs码编译码的matlab代码
      rs码编译码的matlab源代码,译码使用bm算法,全是m文件,非simulink。
    • 基于matlab的RS码编译码研究
      RS码是多进制的BCH码,经过长期的发展后,RS编码的原理和编码技术已经十分成熟,具有同时纠正突发错误与随机错误的优点,以纠正突发错误尤为突出。广泛的应用于深空通信、卫星通信、数据传输、数据存储、移动通信、...
    • RS码的编译码程序
      RS码的编码和译码有完整的程序,且每条程序都有详细的解释,便于理解,译码采用BM算法,forney算法以及Chien搜索,非常经典
    • RS码译码程序
      我用C++6.0编写的RS码译码程序,可处理常见的RS码,程序采用迭代译码,希望对大家有用。想探讨信道方面的问题Q我:1561119204
    • RS码MATLAB仿真
      RS编解码的matlab实现源码