此代码适用于州new_f([0 0 0 0 0 0 0],5,1000)
但如果我们尝试new_f([0 1 0 0 1 1 1 1],5,1000)
,它就会给予Vector相同的长度
这真是奇怪,因为我认为我正在寻找,因为我使用t(位持续时间)和tsym持续2位,Rb
是比特率。
如果数据以一个我添加零并且增加n(数据长度)
function new_f(Data,v,Rb)
n=length(Data);
if(Data(n)==1)
Data=[Data 0];
n=n+1;
end
Tb=1/Rb;
Ts=Tb/1200;
t=0:Ts:Tb-Ts;
pulse=[ones(1,length(t)/2) zeros(1,length(t)/2) ];
A0=1;
A01=2;
A11=2;
ph0=0;
ph10=0;
ph11=pi;
f=1000;
ph11=pi;
tsym=0:Ts:2*Tb-Ts;
D0=A0*sin(2*pi*f*t+ph0);
D10=A01*sin(2*pi*f*tsym+ph10);
D11=A11*sin(2*pi*f*tsym+ph11);
clock=[];
Dout=[];
Dout2=[];
for i=1:1:n
clock=[clock pulse];
end
for i=1:1:n
if(Data(i)==0 )
Dout=[Dout D0];
continue;
end
if(Data(i)==1 && Data(i+1)==0)
Dout=[Dout D10 ];
i=i+1
continue;
end
Dout=[Dout D11];
i=i+1;
end
T=0:Ts:n*Tb-Ts;
subplot(2,1,1)
plot(T,clock);
grid on
axis([0 n*Tb-Ts -0.1 1.1 ])
subplot(2,1,2)
plot(T,Dout);
grid on
axis([0 n*Tb-Ts -v-0.1*v v+0.1*v])
end
答案 0 :(得分:1)
感谢@CrisLuengo 根据CrisLuengo,我们无法控制matlab中的for循环增量,而解决方案是使用while语句
android { defaultConfig { externalNativeBuild { cmake {
arguments '-DANDROID_STL=gnustl_static'
} } } }