MSK

Modulace PAM #1 - jednorozměrná
clc
clear all
close all

% parametry pro vykresleni
font_size = 16;
font_size_label = 18;

T_max = 1e-3; % doba trvani simulace [s]
Fs = 50e6; % vzorkovaci frekvence [Hz]
Tpulzu = 10e-6; % doba trvani pulzu [s]
Fzdvih = 1e6; % frekvencni zdvih pro Linearni Frekvencni Modulaci [Hz]

Ts = 10e-6; % doba trvani jednoho symbolu
Tr = 100e-6; % doba trvani jednoho ramce

n_Ts = round(Ts * Fs); % pocet vzorku v jednom datovem intervalu
n_Tr = round(Tr * Fs); % pocet vzorku v jednom ramci 

n_data = round(n_Tr / n_Ts);
bit = randi([0, 1], n_data, 1); % vygenerovani uniformne rozlozenych n-pocet bitu
% bit = [0, 1]
t_axis = 0 : 1/Fs : (Tr - 1/Fs); % casova osa
no_samples = length(t_axis);


q = bit;


%%% FFSK
for ii = 1 : n_data
 dolni_mez = ((ii-1) * n_Ts + 1);
 horni_mez = ii * n_Ts; % n_Ts je pocet vzorku v jednom Ts
 if q(ii) == 0
 A1(dolni_mez : horni_mez) = 1;
 A2(dolni_mez : horni_mez) = 0;
 else
 A1(dolni_mez : horni_mez) = 0;
 A2(dolni_mez : horni_mez) = 1;
 end
end

%% MSK
f1 = 10 * 1/(2*Tpulzu);
f2 = 11 * 1/(2*Tpulzu);
faze = 0;

t = t_axis;
s_msk = A1.*sin(2*pi*t*f1) + A2.*sin(2*pi*t*f2 + faze );

S= 10*log10((abs(fftshift(fft(s_msk)))).^2);% energetické spektrum signálu 
fx = Fs/2 * linspace(-1,1,length(s_msk)); 

figure;
subplot(2,1,1); plot(t,s_msk); title('MSK'); xlabel('t [s]'); ylabel('A [V]');
subplot(2,1,2); plot(fx,S); title('Spektrum');xlabel('f [Hz]'); ylabel('Se [dB]'); 
 ylim([-20 max(S)*1.2 ]); xlim([-3E6 3E6]);

Download 

INVZE

Instalace Eclipse ww.eclipse.org

Eclipse IDE for C/C– Developers

Eclipse umístíme do adresáře /opt/eclipse…

cd /opt
tar xzf eclipse-cpp-indigo-SR1-incubation-linux-gtk.tar.gz
rm eclipse-cpp-indigo-SR1-incubation-linux-gtk.tar.gz

Aktualizace JAVA pro Eclipse

apt-get install python-software-properties
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java7-installer

Překlad programu x86

make main.c -o main % preklad
./main % spustit
./main param1 ... % s parametrem

// více vlaknové...
gcc main.c -o main -lpthread

 

Překlad programu ARM

arm-none-linux-gnueabi-gcc -static main.c -o main

Nastaveni HTTP serveru

// ma IP
ifconfig

// uprava serveru
gedit /etc/mini-httpd.conf
// upravit localhost a data_dir

// spusteni
/etc/init.d/mini-httpd start

// kontrola
netstat -tvanp

 

Stažení a spuštění programu v ARMu

// smazani
rm program
// přejmenovani
mv stary novy

// stažení
wget 192.168.2.67/program

// zmena na spustitelny soubor
chmod +x program

// spusteni
./program

Serial Port

// výpis
ll /dev/ | grep ttyS

// nastaveni BauRate
stty -F /dev/tttyS3 9600

// vypis nastaveni
stty -F /dev/tttyS3

// odeslat
echo "test" > /dev/ttyS3

// příjem
cat /dev/ttyS3

Práce s LED

// dostupne
ll /sys/class/leds
// vypnuti vychozi funkce
echo none > /sys/class/leds/led_stat/trigger 
// LED ON
echo 255 > /sys/class/leds/led_stat/brightness</pre>
<pre>// LED OFF
echo 0 > /sys/class/leds/led_stat/brightness</pre>
<pre>

Měřič U, I, R, C, f

Je elektronický měřicí přístroj umožňující měřit elektrické veličiny napětí, proud, el. odpor, kapacitu, frekvenci. Jedná se o středoškolský projekt, ne laboratorní přístroj 🙂

Úvod:Obr 1 (přístroj)

Celé to začalo učením programování 8051 [1]. V jedné kapitole byl uveden zajímavý převodník PCF8591P a tak se zrodila myšlenka zkonstruovat měřicí přístroj. Nejprve jsem chtěl plně využít převodník, tak jsem se rozhodl dva vstupy využít pro dvojité měření napětí, další pro měření proudu a poslední pro odpor.  Ale co s nevyužitým mikro procesorem? Tak jsem jeden čítač využil jako čítač impulzů (měření frekvence) a druhý pro měření času nabíjení kondenzátorů (měření kapacity). (Pokračování textu…)