% papr of the ofdm signals
clear all
close all
c1=128
n1=10000
Fs=100
MM=1:.1:10 % CCDF的门限值
ccdf1=zeros(1,91)
ccdf2=zeros(1,91)
for i=1:n1
x(:,1)=randsrc(c1,1,[+1 -1 +3 -3])
x(:,2)=randsrc(c1,1,[+1 -1 +3 -3])
y1=squeeze(x)
a=amodce(y1,Fs,'qam'枯伍) % QAM modulated information
y2=a.'
z1=[y2(1:c1/2),zeros(1,3*c1),y2(c1/2+1:c1)] % 4 oversample
w1=ifft(z1)
w1=w1*c1
x2=(abs(w1)).^2
m1=mean(x2)
v1=max(x2)
papr(i)=10*log10(v1/m1)
y3=abs(w1)
CR=1.4
A=CR*sqrt(2)*std(w1) % CR=Amax/sqrt(Pin) Pin:the input power of the ofdm signal before clipping
w2=w1
for h=1:4*c1
if y3(h)>A
w2(h)=A*w1(h)/y3(h)
end
end
x3=(abs(w2)).^2
m2=mean(x3)
v2=max(x3)
papr0(i)=10*log10(v2/m2)
for j=1:91
if papr(i)>MM(j)
ccdf1(j)=ccdf1(j)+1
end
if papr0(i)>MM(j)
ccdf2(j)=ccdf2(j)+1
end
end
end
[c,d]=butter(6,0.5)
w3=filter(c,d,w2)
MM=1:.1:10
ccdf0=ccdf1./n1
ccdf3=ccdf2./n1
semilogy(MM,ccdf0,'b'运缺,MM,ccdf3,'r')
xlabel('PAPR门限值/dB')ylabel('CCDF')
legend('clipping前','clipping后',2)
title('clipping的旁败辩CCDF曲线比较')
grid on
我也在做这个 很是头疼 我找的一个程序 你看能不能帮弯悉歼助你吧 希望可以交流clear all
close all
c1=128
n1=10000
Fs=100
MM=1:.1:13 % CCDF的门限值埋冲
ccdf1=zeros(1,121)
ccdf2=zeros(1,121)
for i=1:n1
x(:,1)=randsrc(c1,1,[+1 -1 +3 -3])
x(:,2)=randsrc(c1,1,[+1 -1 +3 -3])
y1=squeeze(x)
a=amodce(y1,Fs,'qam') % QAM modulated information
y2=a.'
z1=[y2(1:c1/2),zeros(1,3*c1),y2(c1/2+1:c1)] % 4 oversample
w1=ifft(z1)
w1=w1*c1
x2=(abs(w1)).^2
m1=mean(x2)
v1=max(x2)
papr(i)=10*log10(v1/m1)
y3=abs(w1)
CR=1.4
A=CR*sqrt(2)*std(w1) % CR=Amax/sqrt(Pin) Pin:the input power of the ofdm signal before clipping
w2=w1
for h=1:4*c1
if y3(h)>A
w2(h)=A*w1(h)/y3(h)
end
end
x3=(abs(w2)).^2
m2=mean(x3)
v2=max(x3)
papr0(i)=10*log10(v2/m2)
for j=1:121
if papr(i)>MM(j)
ccdf1(j)=ccdf1(j)+1
end
if papr0(i)>MM(j)
ccdf2(j)=ccdf2(j)+1
end
end
end
[c,d]=butter(6,0.5)
w3=filter(c,d,w2)
MM=1:.1:13
ccdf0=ccdf1./n1
ccdf3=ccdf2./n1
semilogy(MM,ccdf0,'b',MM,ccdf3,'r'陆亩)
xlabel('PAPR门限值/dB')ylabel('CCDF')
legend('clipping前','clipping后',2)
title('clipping的CCDF曲线比较')
grid on
【按理说第五个得到的应该是1,为什么改不了】看不懂你的这句肢稿话——第五个是指哪个?“改不了”是什么意思?
很可能是因为符号运算内核导致的。我在几个不同的版本里面扰饥李做了测试,对于MuPad内核的版本缓迟(2008b之后),都不能求解;而对于Maple内核的版本(2008a之前),6.5版中int函数求不出显式解,后续计算失败,而在2007b中,可以得到
>>pretty(solve(diff(g,v)))
[0]
[ ]
[ 1/21/2 ]
[ 2(m k t)]
[ --------------- ]
[m]
[ ]
[ 1/21/2]
[ 2(m k t) ]
[- ---------------]
[ m ]
>>n=2eval(simple(eval(b)))
ans =
1.0000
>>n=3pretty(simple(eval(b)))
1/2 1/2
2(m k t pi)
2 ------------------
m pi
>>n=4pretty(eval(simple(eval(b^0.5))))
1/2 /k t\1/2
3|---|
\ m /
其中n=2的那一行应该就是你说的“第五个”吧
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)