Added psk31_sigmodel.m
This commit is contained in:
parent
d526744d0c
commit
b749e78925
1 changed files with 50 additions and 0 deletions
50
grc_tests/psk31_sigmodel.m
Executable file
50
grc_tests/psk31_sigmodel.m
Executable file
|
@ -0,0 +1,50 @@
|
||||||
|
#!/usr/bin/octave
|
||||||
|
|
||||||
|
global Tb=20
|
||||||
|
|
||||||
|
function g=gbb(t) %impulse response of pulse shaping filter
|
||||||
|
global Tb
|
||||||
|
g=t;
|
||||||
|
for i = 1:size(t)(2)
|
||||||
|
if (t(i)>1*Tb || t(i)<=-1*Tb)
|
||||||
|
g(i) = 0;
|
||||||
|
else
|
||||||
|
g(i) = 0.5+cos((t(i)/(Tb*1))*pi)/2; %this is not RRC, rather a sinusoidal pulse shape
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function [toreturny, plotrange]=y(s)
|
||||||
|
global Tb
|
||||||
|
slen=size(s)(2)
|
||||||
|
plotrange=(-3*Tb):(slen+2)*Tb-1;
|
||||||
|
plotlen=size(plotrange)(2)
|
||||||
|
toreturny=zeros(1,plotlen);
|
||||||
|
for i=1:slen %sum of (symbol[i] * filter impulse response) for all symbols
|
||||||
|
toreturny+=s(i)*gbb(plotrange.-(i-1)*Tb);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function fmtplot(h)
|
||||||
|
FN = findall(h,'-property','FontName');
|
||||||
|
set(FN,'FontName','/usr/share/fonts/truetype/ttf-dejavu/DejaVuSerifCondensed.ttf');
|
||||||
|
set(FN,'FontName','times');
|
||||||
|
FS = findall(h,'-property','FontSize');
|
||||||
|
set(FS,'FontSize',18);
|
||||||
|
set(FS,'FontSize',18);
|
||||||
|
end
|
||||||
|
|
||||||
|
h=figure(1);
|
||||||
|
subplot(2, 1, 1);
|
||||||
|
plot(y([1]), 'linewidth', 2)
|
||||||
|
title(sprintf("Impulse response of pulse shaping filter\n(1 symbol = %d samples)", Tb))
|
||||||
|
xlabel('t [1/Ts]')
|
||||||
|
ylabel('h(t)')
|
||||||
|
|
||||||
|
subplot(2, 1, 2);
|
||||||
|
plot(y([1 1 -1 -1 1 1 1 -1 1 -1 1 1]), 'linewidth', 2)
|
||||||
|
title("Baseband signal for modulator input\nbit sequence: 110011101011") %assuming that differential encoding has already been performed
|
||||||
|
xlabel('t [1/Ts]')
|
||||||
|
ylabel('s(t)')
|
||||||
|
fmtplot(h);
|
||||||
|
pause
|
Loading…
Reference in a new issue