2FSK信号的调制与解调matlab程序
clear all; close all; f 300; t 2*00.0011-0.01/f; x t; singal sin2*pi*f*x1; u率PCM编码 a singal; n 8; u率非线性 u 255;待考察,应当是255 c zerossizea; for i 1lengtha ci log1u*ai/log1u; 在PCM中要求x应当大于0 end cmax maxc; cmin minc; 匀称量化 c_quan c; b_quan c_quan; d cmax - cmin/n; 此处有问题 自己写的量化代码 for j 1n1 kkj cmin j*d; end for k 1n qk kkkkkk1/2; end for i 1n m findqi-d/2 c_quan qid/2 c_quan; c_quanm qi.*ones1,lengthm; b_quanfindc_quanqi i-1.* ones1,lengthfindc_quanqi; end 编码 nu ceillog2n; code zeroslengtha,nu; for i 1lengtha for j nu-1-10 if fixb_quani/2j1 codei,nu-j 1; b_quani b_quani-2j; end end end bitstorm []; for i 1lengthcode bitstorm [bitstorm,codei,]; end FSK调制的实现 figure1 subplot221; stairs bitstorm120; title调制信号; axis[0,20,-0.1,1.2]; grid on 这是设置随机数值 randstate,sum100*clock; randnstate,sum100*clock; mintestlongth 1000; maxtestlongth 1000; A 1; Eb A * A; SNR 10; 信噪比 index 1; for SNR1 010 disp 程序在运行,请稍等.....; N0 Eb * 10-SNR/10;待解决 noiseVar N0/2;噪声密度 noiseRoot sqrtnoiseVar 噪声的均方差 errorCount 0; testCount 0; f1 1; f2 2; mm 00.021-0.02;抽样判决在t轴上的抽样矩阵 i 0; DemoFSK zeros1,mintestlongth; FSK zeros1,10*lengthmm; 这是为什么 noise_FSK zeros1,10*lengthmm; while 1 i i 1; 调制解调 src bitstormi; src1 src; src2 1-src; noise noiseRoot.*randn1,lengthnoiseRoot;高斯白噪声矩阵 fsk cos2*pi*f1*mm*src1 cos2*pi*f2*mm*src2; noise_fsk fsk noise; if i 10 FSK1lengthmm*i-1lengthmm*i fsk; 修改过 noise_FSK1lengthmm*i-1lengthmm*i noise_fsk; end ofsk1 noise_fsk.* cos2*pi*f1*mm; ofsk2 noise_fsk.* cos2*pi*f2*mm;