changes from friday
This commit is contained in:
34
Functions/applyPulseShaping.m
Normal file
34
Functions/applyPulseShaping.m
Normal file
@@ -0,0 +1,34 @@
|
||||
function yout = applyPulseShaping(xin,fsym,fdac)
|
||||
|
||||
if ~rem(fdac,fsym)
|
||||
%ist ein Vielfaches
|
||||
sps = fdac / fsym;
|
||||
up = sps;
|
||||
dn = 1;
|
||||
else
|
||||
%ist kein Vielfaches
|
||||
up = fdac / gcd(fdac, fsym);
|
||||
dn = fsym / gcd(fdac, fsym);
|
||||
sps= up;
|
||||
end
|
||||
|
||||
%Bau das Filter (hier rrc)
|
||||
racos_len = 2048;
|
||||
alpha = 0.1;
|
||||
h = rcosdesign(alpha,racos_len,sps);
|
||||
|
||||
%Apply Filter using Matlab build in fctn.
|
||||
yout = upfirdn(xin,h,up,dn);
|
||||
|
||||
%cut signal, which is longer due to fir filter
|
||||
st = round(up/dn*racos_len/2); %we need to cut y_out
|
||||
en = round(st + (length(xin)*up/dn) -1);
|
||||
|
||||
yout = yout(st:en);
|
||||
|
||||
%Check output integrity
|
||||
if round(up/dn * length(xin)) ~= length(yout)
|
||||
warning('Check signal length after pulse shaping');
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user