关闭输出窗口
清楚命令区
没有source的代码侍胡不知道这句什么意思
载波频率1MHz
bit速率 1MHz(比较这两个速率,应该每一个bit上调制了一个载波)
设定噪声系数孝谈棚
产生数据bit
将数据bit上调制载波
在发射数据巧则上加入高斯噪声
将接收到的信号解调
fp = fopen("BPSK_snrber.txt", "a+")是一个赋液盯值语句,也就是打开文件BPSK_snrber.txt,也就是说fp指向了这个文件(fp = fopen("BPSK_snrber.txt", "a+"樱空)) == NULL则是一个表达式,具体意思等价于
先执行fp = fopen("BPSK_snrber.txt", "a+");再判断
fp == NULL
连起来if ((fp = fopen("BPSK_snrber.txt", "a+")) == NULL)便是,
打开文件BPSK_snrber.txt并用指针fp指向它并判断指针fp是否为空,即文件脊埋瞎是否成功打开
clcclear
fc=4800fs=12000fb=2400
%要调制的数字信号
a=randint(1,12,2)%随机产生12个“0”,“1”
s=zeros(1,60)
for i=1:12
for j=1:5
if(a(i)==0)
s(j+(i-1)*5)=0
else
s(j+(i-1)*5)=1
end
end
end
plot(s)xlabel('基带信号')
figure
pwelch(s)%功率谱
figure
%波形成形滤波器(平方根升余弦滚降)
h=firrcos(14,1200,1200,4800,'sqrt')
figure
stem(h)xlabel('成形滤野粗兄波器的单位冲击响应')
[H,W]=freqz(h,1)
H=abs(H)
figure
plot(H)xlabel('成形滤波器的频率响应')
s=fftfilt(h,s)
figure
plot(s)xlabel('通过成形滤波器后的基带信号')
figure
pwelch(s)%经波形成形滤波器后的功率谱
%已调信号
e=dmod(a,4800,2400,12000,'psk',2)%调凳埋制
figure
plot(e)xlabel('已调信号')
enoise=e+randn(1,60)%enoise=e+.1*randn(1,60)不同功率的高斯白噪声
aa=ddemod(enoise,4800,2400,12000,'psk',2)%解调
figure
stem(aa)xlabel('解调后的数字信号')%解调后的数字信号
p=symerr(a,aa)/12 %误码率
%误码率曲线
figure
r=-6:3:12
rr=10.^(r/10)
pe1=1/2*exp(-rr)%相干解调的误码率曲线颂袭
hold on
plot(r,pe1,'r')grid on
pe2=(1-1/2*erfc(sqrt(rr))).*erfc(sqrt(rr))%差分相干解调的误码率曲线
plot(r,pe2,'b')xlabel('bpsk,dpsk误码率曲线')
set(gca,'XTick',-6:3:18)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)