繼續(xù)講解!同學(xué)們第一次寫CRC校驗程序,老師自然會非常細致的講,好的開始就是成功的一半。寫的時候要仔細哦,不然程序就無法調(diào)試通過!但接下來的實驗程序我就不會這么詳細的講了,給大家程序然后請同學(xué)進行自行消化,看各位的理解能力和學(xué)習(xí)態(tài)度了。大學(xué)期間必須培養(yǎng)同學(xué)們的自學(xué)能力,同時大家也要有自我培養(yǎng)的意識。2022年9月,發(fā)現(xiàn)同學(xué)們都沒有MATLAB軟件的基礎(chǔ)知識,有點頭大了。于是只能從最基礎(chǔ)的知識講起(結(jié)合具體程序講解)!好在經(jīng)過一個月的教學(xué),大家都入門了,算是心安了!

如何生成m序列呢?先給出函數(shù)程序。
%%%******* 函數(shù)模塊程序 ****%%
%%% File : funct_mseq_2015.m
%% date:2016-11-10 author:算法工匠
%% 函數(shù)名 %%
function [mout] = funct_mseq_2015(stg, taps, inidata)
%%%% 程序說明 %%%%
%%% 利用級聯(lián)移位寄存器生成stg階m序列
%%%% 參數(shù)定義 %%%%
% stg : Number of stages
% taps : Position of register feedback
% inidata : Initial sequence in register
% n : Number of output sequence(It can be omitted)
% mout : output M sequence
% *******************************
% An example
% stg = 3
% taps = [ 1 , 3 ]
% inidata = [ 1 , 1 , 1 ] % 初相 即寄存器的初始值
% n = 2
% m序列生成器的結(jié)構(gòu)如下:
% ----------+--------------------
% | | |
% --> | 1 |--->| 2 |---->| 3 |---->比特輸出
% 生成多項式: 1 + x + x^3
%
% 程序版本:R2015
%******* 函數(shù)主體 *********%
mout = zeros(1,2^stg-1);
fpos = zeros(stg,1);
% fpos(taps) = 1;
% 寄存器狀態(tài)載入 taps = [1,3]; fpos(taps) = [1,0,1] matlab老版本函數(shù)
for i= length(taps)
fpos(taps(i)) = 1;
end
for ii=1:2^stg-1
mout(ii) = inidata(stg); % storage of the output data
num = mod(inidata*fpos,2); % calculation of the feedback data
inidata(2:stg) = inidata(1:stg-1); % one shifts the register
inidata(1) = num; % return feedback data
end
%**************** end of file **********************

我國自研的衛(wèi)星通信系統(tǒng)!
軍民兩用!

當年本人參與過的項目!
我的徒弟也參與了這個項目!
海格和華力創(chuàng)通都是上市公司,
大家可以去查詢一下,看看這兩家公司有沒有天通系統(tǒng)的相關(guān)產(chǎn)品!也就點到這吧!后面有機會多在課堂上講講衛(wèi)星通信的知識。開闊眼界很重要。

再給出函數(shù)的測試程序!
%*********** 函數(shù)測試程序 ************%
%%% File: test_funct_mseq_2015.m %%
% date: 2016-12-20 author: nanjing xiaozhuang electronic %%
%%% 程序說明
% 測試函數(shù)function_funct_mseq_2015的運行結(jié)果。
% 觀察生成m序列的相關(guān)特性。
% 程序版本:R2015b
%%************ 程序主體 **************%%
%%%%%%%% 自編m序列
%%% m序列初始狀態(tài)
stg = 8;
taps= [1 8];
inidata = [1 0 1 1 1 1 0 1]; % 初始相位
m_sequence = funct_mseq_2015(stg, taps, inidata);
% m_sequence取值為0和1。
xcorr_mseq = xcorr(2*m_sequence-1);
stg = 9;
taps= [1 3 9];
inidata = [1 0 1 1 0 1 1 0 1];
m_sequence1 = funct_mseq_2015(stg, taps, inidata);
xcorr_mseq1 = xcorr(2*m_sequence1-1);
figure(1)
plot(xcorr_mseq)
title('自相關(guān)值')
figure(2)
plot(xcorr_mseq1)
title('自相關(guān)值')
%%% GPS中的m序列
% Generate G1 code
g1 = zeros(1,1023);
% load shift register
reg = -ones(1,10); % 初始相位
for i = 1:1023
g1(i) = reg(10);
slave1 = reg(3)*reg(10);
reg(1,2:10) = reg(19); % 移位
reg(1) = slave1;
end
% g1取值為正負1。
xcorr_g1 = xcorr(g1);
figure(3)
plot(xcorr_g1)
title('自相關(guān)值')
% Generate G2 code
g2 = zeros(1,1023);
% load shift register
reg = -ones(1,10);
%
for i = 1:1023
g2(i) = reg(10);
slave2 = reg(2)*reg(3)*reg(6)*reg(8)*reg(9)*reg(10);
reg(1,2:10) = reg(19);
reg(1) = slave2;
end
% g2取值為正負1。
xcorr_g2 = xcorr(g2);
figure(4)
plot(xcorr_g2)
title('自相關(guān)值')
%%% 結(jié)論
% 測試結(jié)果見圖形。
% 通過自相關(guān)值的結(jié)果就可以看成哪些m序列的自相關(guān)性比較好。
% 所以需要尋找好的生成多項式和初相。(同學(xué)們能理解嗎?)
%自編的m序列的自相關(guān)性效果就很差。
% 2016-12-22

未完,待續(xù)!

修訂記錄
20181028 完成初稿;
20221111 修訂內(nèi)容v2;經(jīng)歷了從光棍節(jié)到購物節(jié)的轉(zhuǎn)變!
原文標題:計算機通信與網(wǎng)絡(luò)v2 實驗課程(10)
文章出處:【微信公眾號:通信工程師專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
通信網(wǎng)絡(luò)
+關(guān)注
關(guān)注
22文章
2106瀏覽量
54400
原文標題:計算機通信與網(wǎng)絡(luò)v2 實驗課程(10)
文章出處:【微信號:gh_30373fc74387,微信公眾號:通信工程師專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
RDMA設(shè)計37:RoCE v2 子系統(tǒng)模型設(shè)計
香蕉派 BPI-2K3000 工業(yè)計算機開發(fā)板采用龍芯2K3000芯片設(shè)計
龍架構(gòu)計算機系統(tǒng)能力核心課程教學(xué)研討會圓滿舉行
【作品合集】賽昉科技VisionFive 2單板計算機開發(fā)板測評
2025年地方高校計算機類專業(yè)核心課程暑期師資培訓(xùn)成功舉辦
自動化計算機經(jīng)過加固后有什么好處?
【VisionFive 2單板計算機試用體驗】環(huán)境搭建與點燈實驗
自動化計算機的功能與用途
工業(yè)計算機與商用計算機的區(qū)別有哪些
【VisionFive 2單板計算機試用體驗】 + 開箱體驗
一文帶你了解工業(yè)計算機尺寸
計算機網(wǎng)絡(luò)入門指南
求助,關(guān)于LT8625SP在LTPOWERCADII V2中的疑問求解
如何在計算機上安裝麒麟操作系統(tǒng)Kylin V10 SP3
計算機通信與網(wǎng)絡(luò)v2 實驗課程(10)
評論