興味の無い方には全く役に立たないでしょう。
SDRによる無線処理が必要な方の為に参考資料として
Webに出しておきます。
import numpy as np
import matplotlib.pyplot as plt
import scipy.signal as sg
from scipy.signal import upfirdn
N=50 # Number of symbols to transmit
L=15 # oversampling factor,L=Tb/Ts
Fc=1000 # carrier
Fs=L*Fc # sampling rate
#random data make
dat = np.random.randint(2, size=N)
print(dat)
#NRZ encoder
s_bb = upfirdn(h=[1] * L,x = (2 * dat)-1, up = L)
t = np.arange(0,len(dat) * L)
carrier = np.cos(2*np.pi*Fc * t/ Fs + np.pi/2)
wave = s_bb * carrier
#plt.plot(wave[0:200])
#plt.show()
#constellation
#plt.plot(np.real(s_bb),np.imag(s_bb),'o')
#plt.show()
asig = wave * carrier
#demodulation
x = np.real(asig)
#low pass filter
x = np.convolve(x,np.ones(L))
x = x[L-1:-1:L]
#
x[x > 0] = 1
x[x < 0] = 0
plt.plot(x)
plt.show()
print(x)
0 件のコメント:
コメントを投稿