📄 pnseq.m
字号:
%This code generates PN sequence and is written by Ashwini Patankar. %You can reach me through ashwinispatankar@gmail.com %My Home page: www.ashwinipatankar.com%My Personal Blog: wwww.ashinipatankar.wordpress.com%Blog on Wireless Engineering : www.wirelesscafe.wordpress.com% Feel free to ask querries related to wirelss engineering, matlab and ns2function [op_seq] = pnseq (a, b, c)% a : no of fliflops; b = tapp _ function starting frm highest order; c = initial stae%tapp functions or genrator polynomial%e.g. no of flip flops 4 ==> a = 4%generator polynomial x4+x+1 ==> b = [1 0 0 1]%initial state [1 0 0 0] ==> c = [1 0 0 0]%refere figure to set a relation between tap function and initial state%%%%% < % -----------X____________________________________% | ___ | _____ ____ _____ | % |> | | | | | | | | | ^|% -----| |--------| |---| |-------| |------------->o/p% ----- ----- ----- ----% x1 + x2 + x3 + x4%initial state% 1 0 0 1%%take care of the reverse order of genrator polynomial and intiial states%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;clc;x = a;tap_ff =b;int_stat= c;for i = 1:1: length(int_stat) old_stat(i) = int_stat(i); gen_pol(i) = tap_ff(i);endlen = (2 ^x)-1;gen_pol(i+1)= 1;gen_l = length(gen_pol);old_l = length(old_stat);for i1 = 1: 1:len % feed back input genration t = 1; for i2 = 1:old_l if gen_pol(i2)==1 stat_str(t) = old_stat(gen_l - i2); i2 = i2+1; t = t+1; else i2 = i2+1; end end stat_l = length(stat_str); feed_ip = stat_str(1); for i3 = 1: stat_l-1 feed_ip = bitxor(feed_ip,stat_str(i3 + 1)); feed_ipmag(i1) = feed_ip; i3 = i3+1; end % shifting elements new_stat = feed_ip; for i4 = 1:1:old_l new_stat(i4+1) = old_stat(i4); old_stat(i4)= new_stat(i4); end op_seq(i1) = new_stat(old_l +1);end%op_seq;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -