aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNao Pross <np@0hm.ch>2021-12-15 22:18:40 +0100
committerNao Pross <np@0hm.ch>2021-12-15 22:18:40 +0100
commit8d9b6bc5ac48b87e4c9eb5448dd2279f3b82863c (patch)
treefdc04adc574e3e91d544d79a0f4baacbc2858617
parentRemove geometry frames (diff)
parentlittel changes on the flowgraphs and gui (diff)
downloadFading-8d9b6bc5ac48b87e4c9eb5448dd2279f3b82863c.tar.gz
Fading-8d9b6bc5ac48b87e4c9eb5448dd2279f3b82863c.zip
Merge remote-tracking branch 'origin/master'
-rw-r--r--doc/thesis/Fading.bib12
-rw-r--r--doc/thesis/chapters/theory.tex23
-rw-r--r--flowgraphs/qpsk_hw.grc7
-rwxr-xr-xflowgraphs/qpsk_hw.py2
-rwxr-xr-xsrc/gui/gui.py2
-rw-r--r--src/gui/net.py2
6 files changed, 37 insertions, 11 deletions
diff --git a/doc/thesis/Fading.bib b/doc/thesis/Fading.bib
index 3d31790..8661615 100644
--- a/doc/thesis/Fading.bib
+++ b/doc/thesis/Fading.bib
@@ -6,7 +6,7 @@
% https://mirror.foobar.to/CTAN/macros/latex/contrib/biblatex/doc/biblatex.pdf
% description for the entry types are in section 2.1 on page 8
-@article{Alimohammad2009,
+@article{M,
title = "Compact Rayleigh and Rician fading simulator based on random walk processes",
author = "Alimohammad, A. and Fard, S.F. and Cockburn, B.F. and Schlegel, C.",
journal = "IET Commun.",
@@ -156,3 +156,13 @@
year = 2011,
language = "de"
}
+
+@BOOK{Hoher2013,
+ title = "Grundlagen der digitalen Informations{\"u}bertragung",
+ author = "Hoher, Peter Adam",
+ publisher = "Springer Vieweg",
+ edition = 2,
+ month = jun,
+ year = 2013,
+ language = "de"
+}
diff --git a/doc/thesis/chapters/theory.tex b/doc/thesis/chapters/theory.tex
index c6f2620..a9bea7d 100644
--- a/doc/thesis/chapters/theory.tex
+++ b/doc/thesis/chapters/theory.tex
@@ -371,16 +371,31 @@ i.e. the amplitude of \(f\) is \emph{Raileigh} distributed.
\label{fig:multipath-statistical-models}
}
\end{figure}
+\skelpar[4]{Explain This formulars}
\paragraph{LOS case}
-In the case of the Rician distribution model. The line of side exist, which means that one of the paths have a straight communication line from the transmitter to the reviser.
-It can be said that a Rayleight distribution is the same as a Rician distribution with a factor K =0.
-For a faktor K= 5.1 the probability function is gaussien distributed.
+In the case of the Ricean distribution model the line of side exist, which means that one of the paths have a straight communication line from the transmitter to the reviser. So there are in addition to the Rayleight model direct components, whish are also gaussian distributed.
+
+\begin{equation} \label{eqn:rician fading}
+ f(t) = \sqrt{\frac{K}{K+1}}+\lim_{N\rightarrow\infty}\frac{1}{\sqrt{K+1}} \frac{1}{\sqrt{N}}\sum_{n=1}^{N} e^{j(\Theta +2\pi jf t)}.
+\end{equation}
+
+The factor \(K\) named Ricean factor it is the ratio of the line of side power to the average power of the distributed components.
+The Phase for the strait line component has no influences for the Random process therefore there set to zero. In the case when \(K = 0 \)
+the Rician distribution becomes a Rayleight distribution on the other hand when \(K\rightarrow \infty \) the distribution becomes an AWGN-channel model (additive white Gaussian noise). When \(K > 0 \) is the phase not equally distributed.
+
+For this distribution model the expectation value for the real part is \(\E{\Re{f(t)}}=\sqrt{\frac{K}{K+1}} \) and for the imaginary part \(\E{\Im{f(t)}}=0\)
+
+So the probability function of the amplitude in this case is:
+\begin{equation} \label{eqn:rician_fading_probabilety_dencety}
+ p(a)= 2a(1+K)\exp{(-K-{a}^2(K+1))}\cdot I_0(2a\sqrt{K(1+K)})
+\end{equation}
+
+Where \(I_0\) the zero ordered modified besselfunction represent.
-\skelpar[4]{Explain statistical model with Rician distribution.}
\begin{equation}
\Re{h_l(n)}, \Im{h_l(n)}
\sim \mathcal{N} \left( \frac{A_l}{\sqrt{2}}, \frac{1}{2} \sigma_l^2 \right)
diff --git a/flowgraphs/qpsk_hw.grc b/flowgraphs/qpsk_hw.grc
index a0d6872..1a3d562 100644
--- a/flowgraphs/qpsk_hw.grc
+++ b/flowgraphs/qpsk_hw.grc
@@ -415,6 +415,7 @@ blocks:
- name: fadingui_ber_0
id: fadingui_ber
parameters:
+ address: udp://localhost:31420
affinity: ''
alias: ''
comment: ''
@@ -459,7 +460,7 @@ blocks:
bus_structure: null
coordinate: [704, 316.0]
rotation: 0
- state: disabled
+ state: enabled
- name: fadingui_netsink_1
id: fadingui_netsink
parameters:
@@ -491,7 +492,7 @@ blocks:
bus_structure: null
coordinate: [1280, 916.0]
rotation: 0
- state: disabled
+ state: enabled
- name: fadingui_netsink_4
id: fadingui_netsink
parameters:
@@ -507,7 +508,7 @@ blocks:
bus_structure: null
coordinate: [528, 916.0]
rotation: 0
- state: disabled
+ state: enabled
- name: fadingui_phasecorrection_0
id: fadingui_phasecorrection
parameters:
diff --git a/flowgraphs/qpsk_hw.py b/flowgraphs/qpsk_hw.py
index 9db06a3..741f405 100755
--- a/flowgraphs/qpsk_hw.py
+++ b/flowgraphs/qpsk_hw.py
@@ -207,7 +207,7 @@ class qpsk_hw(gr.top_block, Qt.QWidget):
self._qtgui_const_sink_x_0_0_win = sip.wrapinstance(self.qtgui_const_sink_x_0_0.pyqwidget(), Qt.QWidget)
self.top_grid_layout.addWidget(self._qtgui_const_sink_x_0_0_win)
self.fadingui_phasecorrection_0 = fadingui.phasecorrection(frame_len)
- self.fadingui_ber_0 = fadingui.ber(vgl=testvec + list(np.zeros(4)), vlen=frame_len)
+ self.fadingui_ber_0 = fadingui.ber(vgl=testvec + list(np.zeros(4)), vlen=frame_len,address='udp://localhost:31420')
self.digital_pfb_clock_sync_xxx_0 = digital.pfb_clock_sync_ccf(sps, 2 * np.pi / 100, rrc_taps, 32, 16, 1.5, 1)
self.digital_lms_dd_equalizer_cc_0 = digital.lms_dd_equalizer_cc(15, 3e-3, 1, qpsk_const)
self.digital_corr_est_cc_0 = digital.corr_est_cc(access_code_symbols, 1, len(access_code_symbols) // 2, 0.7, digital.THRESHOLD_ABSOLUTE)
diff --git a/src/gui/gui.py b/src/gui/gui.py
index c0e4a9e..cc201a3 100755
--- a/src/gui/gui.py
+++ b/src/gui/gui.py
@@ -255,7 +255,7 @@ with window(label="Bit Error Rate ", width=800, height=320, pos=(0,825),\
add_theme_color(mvThemeCol_Text,(0,0,0)) #Schwarz
add_theme_style(mvStyleVar_FrameRounding, 5)
- add_button(label="BER", height=60, width=700, pos=(50,125),tag="ber_value")
+ add_button(label="BER", height=60, width=700, pos=(50,125), tag="ber_value")
bind_item_theme(last_item(), "button_ber")
bind_item_theme(ber_window, "ber_window")
diff --git a/src/gui/net.py b/src/gui/net.py
index 820bc84..f35c7f0 100644
--- a/src/gui/net.py
+++ b/src/gui/net.py
@@ -83,7 +83,7 @@ class network_value(udpsource):
self.bind()
def read(self):
- return udpsource.read(self, 1)
+ return udpsource.read(self, 3)
def refresh(self):
self.value = self.read()