永发信息网

Matlab实现 psk Dqpsk Qpsk 仿真程序

答案:1  悬赏:40  手机版
解决时间 2021-04-04 02:27
Matlab实现 psk Dqpsk Qpsk 仿真程序
最佳答案
% file c10_MCQPSKrun.m
%

%
function BER_MC=c10_MCQPSKrun(N,Eb,No,ChanAtt,...

TimingBias,TimingJitter,PhaseBias,PhaseJitter)
fs = 1e+6;

% sampling Rate (samples/second)
SymRate = 1e+5;

% symbol rate (symbols/second)
Ts = 1/fs;

% sampling period
TSym = 1/SymRate;

% symbol period
SymToSend = 100;%N;

% symbols to be transmitted
ChanBW = 4.99e+5;

% bandwidth of channel (Hz)
MeanCarrierPhaseError = PhaseBias;

% mean of carrier phase

StdCarrierPhaseError = PhaseJitter;

% stdev of phese error

MeanSymbolSyncError = TimingBias;

% mean of symbol sync error
StdSymbolSyncError = TimingJitter;

% stdev of symbol sync error
ChanGain = 10^(-ChanAtt/20);

% channel gain (linear units)
TxBitClock = Ts/2;

% transmitter bit clock
RxBitClock = Ts/2;

% reciever bit clock
%
%

Standard deviation of noise and signal amplitude at receiver input.
%
RxNoiseStd = sqrt((10^((No-30)/10))*(fs/2));

% stdev of noise
TxSigAmp = sqrt(10^((Eb-30)/10)*SymRate);

% signal amplitude
%
% Allocate some memory for probes.
%
SampPerSym = fs/SymRate;
probe1 = zeros((SymToSend+1)*SampPerSym,1);
probe1counter = 1;
probe2 = zeros((SymToSend+1)*SampPerSym,1);
probe2counter = 1;
%
% Counters to keep track of how many symbols have have been sent.
%

TxSymSent = 1;
RxSymDemod = 0;
%
% Buffers that contain the transmitted and received data.
%
[unused,SourceBitsI] = random_binary(SymToSend,1);
[unused,SourceBitsQ] = random_binary(SymToSend,1);
%
% Differentially encode the transmitted data.
%

TxBitsI = SourceBitsI*0;
TxBitsQ = SourceBitsQ*0;
for k=2:length(TxBitsI)

TxBitsI(k) = or(and(not(xor(SourceBitsI(k),SourceBitsQ(k))),...

xor(SourceBitsI(k),TxBitsI(k-1))), ...

and(xor(SourceBitsI(k),SourceBitsQ(k)),...

xor(SourceBitsQ(k),TxBitsQ(k-1))));

TxBitsQ(k) = or(and(not(xor(SourceBitsI(k),SourceBitsQ(k))),...

xor(SourceBitsQ(k),TxBitsQ(k-1))), ...

and(xor(SourceBitsI(k),SourceBitsQ(k)),...

xor(SourceBitsI(k),TxBitsI(k-1))));
end
%
% Make a complex data stream of the I and Q bits.
%
TxBits = ((TxBitsI*2)-1)+(sqrt(-1)*((TxBitsQ*2)-1));
%
RxIntegrator = 0;

% initialize receiver integrator
TxBitClock = 2*TSym;

% initialize transmitter
%
% Design the channel filter, and create the filter state array.
%
[b,a] = butter(2,ChanBW/(fs/2));
b=[1]; a=[1];

% filter bypassed

[junk,FilterState]=filter(b,a,0);
%
% Begin simulation loop.
%
while TxSymSent < SymToSend

%

% Update the transmitter's clock, and see

% if it is time to get new data bits

%

TxBitClock=TxBitClock+Ts;

if TxBitClock > TSym

%

% Time to get new bits

%

TxSymSent=TxSymSent+1;

%

% We don't want the clock to increase off

% to infinity, so subtract off an integer number

% of Tb seconds

%
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
每个人都在求佛保佑,那谁能保佑佛呢?
小型民族乐队有哪些乐器
家常做法 最正宗的做法 素卤面怎么做好吃
托福考试创建个人档案,总是卡在注册的最后一
抽烟、喝酒什么感觉、味道? 烟没碰过,不过闻
我的电脑是用路由器连接的我的是主机下边还有
我老公买了保险继承人是我!如果我和我老公一
我在我的笔记本上找不到插这个的地方
The Swimming Club twenty members. A. consi
用DW建一个网页怎么分栏啊?是三栏的。
为什么吃了蛋糕和喝了啤酒,后会感觉肚子好涨
叹气,意思是运气总叹气不好,好像深深吸一口
20丨6年中超联赛哪些电视台或哪些网络直播
这张照片是安以轩演的哪个电视剧啊?
VM虚拟机如何把本地电脑文件放到虚拟机里?
推荐资讯
热丝CVD制备金刚石薄膜前热丝为什么要碳化
关于好朋友留言的句子,想给好朋友留言,有谁
表示惊讶神态的句子,描写人物惊讶时神态动作
led灯是H4亮度高还是H7高
干果店感谢顾客的句子,幽默的感谢他把工作也
最终觉醒手游好玩吗?画面怎么样?
火箭两连冠(1993~1994、1994~1995)的功臣奥
结婚后,要给家人钥匙吗
我觉得人活着很难,怎么才能相对好一点不求做
规格指的是什么,宽口径奶瓶和标准奶瓶有什么
7个月的猫一顿吃多少猫粮
请教deform for linux 64位的版本
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?