⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prepoznavanjefsk.m

📁 Matlab 6.5 finding is it a signal a FSK modulated.
💻 M
字号:
function prepoznavanje_FSK;
clear all;
clc;

close
disp('Nalazite se u komandnom prozoru. ');
disp('Molim Vas procitajte uputstvo za rad u programu!');
disp('-----------------------------------------------');
disp('Radi tacnosti rada morate proveriti da se vas'); 
disp('txt fajl nalazi u Matlab/work folderu');
disp('sto mozete proveriti u Current directory')
disp('prozoru Matlaba. ');

disp('                                               ');
disp('===============================================');
disp('')

disp('-----------------------------------------------');
disp('Za nastavak rada pritisnite taster SPACE');
pause
disp('-----------------------------------------------');

clear all;
clc;
load signal -ascii
s=signal(:,2);
fosa=signal(:,1);
Fs=fosa(length(fosa))*2;


W=s';

figure(2)
plot(fosa,W)
xlabel('Predjite u komandni prozor')
disp('Dobro pogledajte sliku kako bi ste utvrdili ')
disp('koliko usrednjavanja treba izvrsiti!!!')
disp('')
disp('                                   ')
disp('Za nastavak pritisnite dirku SPACE')
pause


Br_filt=input('Unesite broj filtriranja: ');
close
if Br_filt==1
    N_filt=input('Unesite nivo filtriranja u prikazanom obliku [1] :');
    elseif Br_filt==0
    N_filt=1;
else
    N_filt=input('Unesite nivoe filtriranja u prikazanom obliku [1 2 3 ...] :');
end

for kkk=1:Br_filt
    W=smooth(W,N_filt(kkk));
    figure(3)
    plot(fosa,W)
    pause(1.5)
end
close
figure(4)
plot(fosa,W);
xlabel('Predjite u komandni prozor')

broj=input('Unesite broj izrazitih vrhova u spektru sa slike:');

[xk,yk]=ginput(broj);
Xk=xk/10;                       % vrednost frekvencije u kHz
disp('----------------------------------------------------------------------------------');
disp('Maksimumi su na [kHz] :');
Xk
Cf1=sum(Xk);                    % vrednost centralne frekvencije
Cf=Cf1/broj;
disp('----------------------------------------------------------------------------------');
disp('Centralna frekvencija je [kHz] :');
Cf
rast=diff(Xk);                  % rastojanje pikova u kHz
Bo=sum(rast)/length(rast)*1000;
disp('**********************************************************************************');
disp(['Devijacija [Hz]: ' num2str(Bo)]);
Srednja=mean(rast);
opseg=[0.8*Srednja 1.2*Srednja];
proba=zeros(1,length(rast));
for jj=1:length(rast)
    if (rast(jj)>opseg(1)) & (rast(jj)<opseg(2))
        proba(1,jj)=1;
    end
end

disp('==================================================================================');
if sum(proba)==length(proba)
    fprintf('Ovo je : %2.0f FSK !',broj);
    if (Xk(1)<0.78) & (Xk(1)>0.72) & (rast<0.280) & (rast>0.230) & broj==8
        disp('  ')
        disp('Ovo je ALE protokol MIl STD 188-141 appendix A!)')
    elseif (Xk(1)<1.08) & (Xk(1)>1.04) & (rast<0.870) & (rast>0.830) & broj==2
        disp('  ')
        disp('Ovo je modem France Navy ac21 !)')
        elseif (Xk(1)<2.08) & (Xk(1)>2.00) & (rast<0.360) & (rast>0.320) & broj==2
        disp('  ')
        disp('Ovo je Royal navy FSK 15Bd !)')
        elseif (Xk(1)<1.53) & (Xk(1)>1.49) & (rast<0.530) & (rast>0.490) & broj==2
        disp('  ')
        disp('Ovo je modem Bugarske diplomatije BugDiplo2 !)')
        elseif (Xk(1)<0.75) & (Xk(1)>0.70) & (rast<0.260) & (rast>0.220) & broj==8
        disp('  ')
        disp('Ovo je modem Bugarske diplomatije BugDiplo8 !)')
        elseif (Xk(1)<0.67) & (Xk(1)>0.61) & (rast<0.270) & (rast>0.230) & broj==8
        disp('  ')
        disp('Ovo je modem Clover 2000 !)')
        elseif (Xk(1)<0.69) & (Xk(1)>0.63) & (rast<0.130) & (rast>0.090) & broj==16
        disp('  ')
        disp('Ovo je modem Codan2 !)')
        elseif (Xk(1)<0.98) & (Xk(1)>0.92) & (rast<0.033) & (rast>0.027) & broj==13
        disp('  ')
        disp('Ovo je multitonska emisija Coquelet 13 !)')
        elseif (Xk(1)<0.68) & (Xk(1)>0.62) & (rast<0.120) & (rast>0.080) & broj==16
        disp('  ')
        disp('Ovo je modem J Mil 16 T !)')
        elseif (Xk(1)<1.13) & (Xk(1)>1.07) & (rast<0.800) & (rast>0.750) & broj==2
        disp('  ')
        disp('Ovo je Nokia modem !)')
        elseif (Xk(1)<1.68) & (Xk(1)>1.58) & (rast<0.220) & (rast>0.180) & broj==2
        disp('  ')
        disp('Ovo je Pactor 200 !)')
        elseif (Xk(1)<1.00) & (Xk(1)>0.90) & (rast<0.320) & (rast>0.280) & broj==4
        disp('  ')
        disp('Ovo je UK MFSK 125 !)')
        elseif (Xk(1)<0.82) & (Xk(1)>0.78) & (rast<0.012) & (rast>0.008) & broj==5
        disp('  ')
        disp('Ovo je multitonska emisija Piccolo MKVI u mirnom stanju !)')
        elseif (Xk(1)<1.1) & (Xk(1)>0.9) & (rast<0.520) & (rast>0.480) & broj==2
        disp('  ')
        disp('Ovo je modem Bugarske diplomatije !)')
        elseif (Xk(1)<1.10) & (Xk(1)>1.00) & (rast<0.420) & (rast>0.380) & broj==2
        disp('  ')
        disp('Ovo je ARQ M2 200 8 CRC !)')
        elseif (Xk(1)<1.10) & (Xk(1)>1.00) & (rast<0.072) & (rast>0.068) & broj==8
        disp('  ')
        disp('Ovo je ARQ M2 200 8 CRC izmeren u polovini spektra!)')
        elseif (Xk(1)<1.05) & (Xk(1)>0.98) & (rast<0.032) & (rast>0.028) & broj==24
        disp('  ')
        disp('Ovo je ARQ E3 u stanju mirovanja !)')
        elseif (Xk(1)<1.28) & (Xk(1)>1.21) & (rast<0.200) & (rast>0.188) & broj==4
        disp('  ')
        disp('Ovo je NATO F7B 195.3Bd 4-tonski pri slanju kriptovanog telegrama !)')
        elseif (Xk(1)<2.08) & (Xk(1)>2.00) & (rast<0.320) & (rast>0.280) & broj==4
        disp('  ')
        disp('Ovo je Tadiran Data modem !)')
        elseif (Xk(1)<0.980) & (Xk(1)>0.900) & (rast<0.470) & (rast>0.430) & broj==4
        disp('  ')
        disp('Ovo je TE 204 FSK modemski prenos !)')
        elseif (Xk(1)<0.780) & (Xk(1)>0.700) & (rast<0.700) & (rast>0.660) & broj==4
        disp('  ')
        disp('Ovo je US mil FSK modem 16-39 !)')
        elseif (Xk(1)<1.65) & (Xk(1)>1.59) & (rast<0.890) & (rast>0.850) & broj==2
        disp('  ')
        disp('Ovo je USAF FSK teleprinter 150Bd pri predaji saopstenja !)')
    else
        disp('  ')
        disp('Nema takve emisije u bazi podataka !')
    end
else
    fprintf('Prema dobijenim podacima moze se zakljuciti da ovo nije FSK radio emisija!');
end
disp('                                               ');
disp('=================================================================================');
disp('Hvala sto ste koristili ovaj program !')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -