function [xh] = hrollfcoef(irfn,ipoint,sr,alfs,ncc)
%****************** variables *************************
% irfn : Number of symbols to use filtering
% ipoint : Number of samples in one symbol
% sr : symbol rate
% alfs : rolloff coeficiense
% ncc: 1 -- transmitting filter 0 -- receiving filter
% *****************************************************
xi=zeros(1,irfn*ipoint+1)
xq=zeros(1,irfn*ipoint+1)
point = ipoint
tr = sr
tstp = 1.0 ./ tr ./ ipoint
n = ipoint .* irfn
mid = ( n ./ 2 ) + 1
sub1 = 4.0 .* alfs .* tr % 4*alpha*R_s
for i = 1 : n
icon = i - mid
ym = icon
if icon == 0.0
xt = (1.0-alfs+4.0.*alfs./pi).* tr % h(0)
else
sub2 =16.0.*alfs.*alfs.*ym.*ym./ipoint./ipoint
if sub2 ~= 1.0
x1=sin(pi*(1.0-alfs)/ipoint*ym)./pi./(1.0-sub2)./ym./tstp
x2=cos(pi*(1.0+alfs)/ipoint*ym)./pi.*sub1./(1.0-sub2)
xt = x1 + x2 % h(t) plot((1:length(xh)),xh)
else % (4alphaRst)^2 = 1plot((1:length(xh)),xh)
xt = alfs.*tr.*((1.0-2.0/pi).*cos(pi/4.0/alfs)+(1.0+2.0./pi).*sin(pi/4.0/alfs))./sqrt(2.0)
end % if sub2 ~= 1.0
end % if icon == 0.0
if ncc == 0 % in the case of receiver
xh( i ) = xt ./ ipoint ./ tr% normalization
elseif ncc == 1 % in the case of transmitter
xh( i ) = xt ./ tr % normalization
else
error('ncc error')
end% if ncc == 0
end % for i = 1 : n
%******************** end of file ***************************
1、matlab是一个功能强大的软件,不仅仅在数据处理方面很优秀,在界面编程方面同样优秀,这里简单介绍下matlab界面编程的基础步骤。
2、在打开的matlab程序中,点击new---graphic user interface,打开创建gui向导--我们选择blank gui,创建空白的gui界面---选择左侧我们需要的控件,如下图,我们选择一个button---将控件拖入到gui界面的合适的位置,双击打开设置属性的界面---设计好界面后,我们先不要编写函数内容,先运行界面---他会提醒我们激活界面将保存界面和代码,我们选择yes---输入文件名,点击保存---我们回到界面编辑界面,点击button右键打开右键菜单,点击view callbacks---callback,来跳转到该控件的回调函数---我们在该函数中输入代码---这时,我们运行程序,点击按钮,即可以在命令窗口中看到button执行的效果。
3、先运行界面,使得matlab给我们创建界面的代码,然后在view callback。
提供两种方式:1.将包解压到一个目录,然后点击其中的一个文件,matlab打开编辑器,点编辑器上的运行按钮(快捷键:F5),Matlab提示你改变工作目录,选“是”(yes),程序执行。
2.将包的目录添加到Matlab的路径中去,点“File”—>“set path”—>"add"找到包目录,点左下角的"save"。以后在工作区输入相应的函数名就可以了。注意,函数名最好不与Matlab的工具箱函数名不要重复。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)