📄 basesignal31.asv
字号:
function [ output_args ] = basesignal31( input_args )%BASESIGNAL31 Summary of this function goes here% Detailed explanation goes here%% 程序名称: 基带(含噪声)信号转为二进制信号%% 程序功能: 基带二进制信号的产生%% 创 建 者: 张安 zaa2002@sohu.com%% 完成日期: 2004.11.8%% 修改日期: 2004.11.8%% 输入变量: 噪声系数%% 输出变量: basesig.txt%% 特别说明: %% 调用文档: ......\comple_dec.m完成二进制的换%% 文档位置: ......\basesignal.m%% 不妥之处: %% 版 本 号: 1.1%%%%%%%%%%%%%%%%%%%%%%% 初始设置 %%%%%%%%%%%%%%%%%%%%%%%pncode=[1 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0]; %pncode=[0 0 0 0 0 0 1 1 0 0 1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 1 1 1 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 1 0 1 1 1 1 1 0 0 0 1]; fs=8*10^6; %系统抽样频率 T=1/fs; %系统抽样周期 noiseco=0; %噪声大小置% 3.1008 2.8057 2.5387 2.2971 2.0785 1.8807 1.7017 1.5398 1.3933% 1.2607 1.1407 1.0322 0.93394 0.84506 0.76464 0.69188 (分贝表示0:15dB) L=length(pncode); %pn码长度 N=L*16; %500K码率采样信号长度 N2=2*N; %%%%%%%%%%%%%%%%%%%%%%%% 500K码率一个数据周期采样信号 %%%%%%%%%%%%%%%%%%%%%%% for i=1:L %把两个pn码展宽,每个chip内采16个点,这样一个数据周期内有N个采样数据点 pn1(((i-1)*16+1):(i*16))=pncode(i); end; for i=1:N %变为-1,1信号 if pn1(i)==0 pn1(i)=-1; end; end;%code1=[pn1 pn1 pn1 pn1 pn1];code1=[pn1 pn1];code2=code1+noiseco*randn(1,N2);%%%%%%%%%%%%%%%%%%%%%%% FIR滤波器设置 %%%%%%%%%%%%%%%%%%%%%%% fr=0.5*10^6; %FIR滤波器带宽为500K,信号在基带 fn=fr/(fs/2); %归一化频率(1对应fs/2) b=fir1(100,fn); %参考通道滤波器系数,系数个数为(n1+1) code3=2^5*filter(b,1,code2); %低通信号 code4=code3(201:(200+N)); plot(code4) %%%%%%%%%%%%%%%%%%%%%%%把低通信号变为二进制信息 %%%%%%%%%%%%%%%%%%%%%%%currentdir = pwd;charpie='\coe\';%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%filename = 'basesignopn31.txt';currentpath = [currentdir charpie filename]fid = fopen(currentpath,'w');for i=1:N y=comple_dec(code4(i),8); %把十进制数据转换为18位二进制数据 fprintf(fid,'%i',y); fprintf(fid,'\n ');end fclose(fid);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -