Matlab中有子函数如何写主函数
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/04 05:31:11
Matlab中有子函数如何写主函数
function TimeAnalysis()
global SamplingFreq IF SatelliteNum FreqBand StartMs AnalysisMs ReadLengthMs AcquireBW StandardFreq
fb=IF;
fs=SamplingFreq;
fstan=StandardFreq;
f0=fb-fs;
LL=20;
switch FreqBand
case 4
load Local_E1I1.mat
load Local_E1I2.mat
load Local_E1Q.mat
load s_demoE1.mat
s1=real(s_demoE1);
s2=imag(s_demoE1);
Bandwide_filter=32.736e+6;
n1=fs/1000*4;
n2=fs/1000*2;
fc1=1*fstan;
fc2=2.5*fstan;
[MM NN]=max(abs(xcorr(Local_E1I1(1:n1),s1(1:n1))));
[MM1 NN1]=max(abs(xcorr(Local_E1I2(1:n1),s1(1:n1))));
if abs(MM)>=abs(MM1)
Local_E1I=Local_E1I1(1:n1);
else
Local_E1I=Local_E1I2(1:n1);
end
if max(xcorr(Local_E1I(1:n1),s1(1:n1)))-max(abs(xcorr(Local_E1I(1:n1),s1(1:n1))))~=0
Local_E1I=-Local_E1I;
end
Local_E1I=sqrt(2)/3*Local_E1I;
Local_E1I_filter=lp_filter(Bandwide_filter/2,Local_E1I(1:n1));
if max(xcorr(Local_E1Q(1:n2),s2(1:n2)))-max(abs(xcorr(Local_E1Q(1:n2),s2(1:n2))))~=0
Local_E1Q=-Local_E1Q;
end
Local_E1Q=2/3*Local_E1Q;
Local_E1Q_filter=lp_filter(Bandwide_filter/2,Local_E1Q(1:n2));
%%%%%%%%%时域波形及信噪比
figure
plot(s1(1:ceil(fs/fc1)*LL),'r')
hold on
plot(Local_E1I(1:ceil(fs/fc1)*LL),'b-.','LineWidth',1.5)
hold on
plot(Local_E1I_filter(1:ceil(fs/fc1)*LL),'k')
legend
title;
figure
plot(s2(1:ceil(fs/fc2)*LL),'r')
hold on
plot(Local_E1Q(1:ceil(fs/fc2)*LL),'b-.','LineWidth',1.5)
hold on
plot(Local_E1Q_filter(1:ceil(fs/fc2)*LL),'k')
legend
title;
snr1=SNR(Local_E1I(1:n1),s1(1:n1))
snr2=SNR(Local_E1I_filter(1:n1),s1(1:n1))
histgramFigure(s1(1:n1))
histgramFigure(s2(1:n2))
eyeFigure(s1(1:n1),fs,fc1)
eyeFigure(s2(1:n2),fs,fc2)
end
function TimeAnalysis()
global SamplingFreq IF SatelliteNum FreqBand StartMs AnalysisMs ReadLengthMs AcquireBW StandardFreq
fb=IF;
fs=SamplingFreq;
fstan=StandardFreq;
f0=fb-fs;
LL=20;
switch FreqBand
case 4
load Local_E1I1.mat
load Local_E1I2.mat
load Local_E1Q.mat
load s_demoE1.mat
s1=real(s_demoE1);
s2=imag(s_demoE1);
Bandwide_filter=32.736e+6;
n1=fs/1000*4;
n2=fs/1000*2;
fc1=1*fstan;
fc2=2.5*fstan;
[MM NN]=max(abs(xcorr(Local_E1I1(1:n1),s1(1:n1))));
[MM1 NN1]=max(abs(xcorr(Local_E1I2(1:n1),s1(1:n1))));
if abs(MM)>=abs(MM1)
Local_E1I=Local_E1I1(1:n1);
else
Local_E1I=Local_E1I2(1:n1);
end
if max(xcorr(Local_E1I(1:n1),s1(1:n1)))-max(abs(xcorr(Local_E1I(1:n1),s1(1:n1))))~=0
Local_E1I=-Local_E1I;
end
Local_E1I=sqrt(2)/3*Local_E1I;
Local_E1I_filter=lp_filter(Bandwide_filter/2,Local_E1I(1:n1));
if max(xcorr(Local_E1Q(1:n2),s2(1:n2)))-max(abs(xcorr(Local_E1Q(1:n2),s2(1:n2))))~=0
Local_E1Q=-Local_E1Q;
end
Local_E1Q=2/3*Local_E1Q;
Local_E1Q_filter=lp_filter(Bandwide_filter/2,Local_E1Q(1:n2));
%%%%%%%%%时域波形及信噪比
figure
plot(s1(1:ceil(fs/fc1)*LL),'r')
hold on
plot(Local_E1I(1:ceil(fs/fc1)*LL),'b-.','LineWidth',1.5)
hold on
plot(Local_E1I_filter(1:ceil(fs/fc1)*LL),'k')
legend
title;
figure
plot(s2(1:ceil(fs/fc2)*LL),'r')
hold on
plot(Local_E1Q(1:ceil(fs/fc2)*LL),'b-.','LineWidth',1.5)
hold on
plot(Local_E1Q_filter(1:ceil(fs/fc2)*LL),'k')
legend
title;
snr1=SNR(Local_E1I(1:n1),s1(1:n1))
snr2=SNR(Local_E1I_filter(1:n1),s1(1:n1))
histgramFigure(s1(1:n1))
histgramFigure(s2(1:n2))
eyeFigure(s1(1:n1),fs,fc1)
eyeFigure(s2(1:n2),fs,fc2)
end
![Matlab中有子函数如何写主函数](/uploads/image/z/10084896-0-6.jpg?t=Matlab%E4%B8%AD%E6%9C%89%E5%AD%90%E5%87%BD%E6%95%B0%E5%A6%82%E4%BD%95%E5%86%99%E4%B8%BB%E5%87%BD%E6%95%B0)
function [a,b,c]=OUTPUT(e,f) %abc 为输出参数,ef为输入参数(根据需要,可有可无)
.
a=?; %输出参数一定要幅值!
b=?;
c=?;
end
在主程序里,调用格式为:[a,b,c]=OUTPUT(e,f)
.
a=?; %输出参数一定要幅值!
b=?;
c=?;
end
在主程序里,调用格式为:[a,b,c]=OUTPUT(e,f)
Matlab中有子函数如何写主函数
matlab主函数如何调用子函数
如何在matlab中建立子函数?
matlab的子函数中涉及一个变量,在主函数中会进行赋值,在子函数中怎样定义
matlab中,怎么样在主函数里调用子函数?是用什么命令啊?
子函数中得出的两个变量如何被主函数调用(C语言)
Java大神请进!如何从子函数返回到主函数中?
matlab如何定义子函数f(t)?
matlab子函数中if语句不能运行
如何在matlab中用function编写一个子函数求一个给定函数的离散时间的离散时间傅里叶变换
C语言如何在子函数中对主函数中的二维数组值进行修改?二维数组已经在主函数中用动态数组分配了空间.
C语言中,如何定义一个变量,使其既可以在主函数中使用,也可以在子函数中使用