Skip to content

Commit 3161c44

Browse files
Added RLS_iq_test flowgraph
1 parent 2f80bfe commit 3161c44

File tree

2 files changed

+265
-2
lines changed

2 files changed

+265
-2
lines changed

examples/RLS_iq_data_test.grc

Lines changed: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
options:
2+
parameters:
3+
author: alekh
4+
category: '[GRC Hier Blocks]'
5+
cmake_opt: ''
6+
comment: ''
7+
copyright: ''
8+
description: ''
9+
gen_cmake: 'On'
10+
gen_linking: dynamic
11+
generate_options: qt_gui
12+
hier_block_src_path: '.:'
13+
id: top_block
14+
max_nouts: '0'
15+
output_language: python
16+
placement: (0,0)
17+
qt_qss_theme: ''
18+
realtime_scheduling: ''
19+
run: 'True'
20+
run_command: '{python} -u {filename}'
21+
run_options: prompt
22+
sizing_mode: fixed
23+
thread_safe_setters: ''
24+
title: ''
25+
window_size: ''
26+
states:
27+
bus_sink: false
28+
bus_source: false
29+
bus_structure: null
30+
coordinate: [8, 8]
31+
rotation: 0
32+
state: enabled
33+
34+
blocks:
35+
- name: samp_rate
36+
id: variable
37+
parameters:
38+
comment: ''
39+
value: '1000000'
40+
states:
41+
bus_sink: false
42+
bus_source: false
43+
bus_structure: null
44+
coordinate: [250, 24]
45+
rotation: 0
46+
state: true
47+
- name: blocks_file_source_0
48+
id: blocks_file_source
49+
parameters:
50+
affinity: ''
51+
alias: ''
52+
begin_tag: pmt.PMT_NIL
53+
comment: ''
54+
file: /home/alekh/gr-dpd/examples/Data_Files/Input.bin
55+
length: '0'
56+
maxoutbuf: '0'
57+
minoutbuf: '0'
58+
offset: '0'
59+
repeat: 'True'
60+
type: complex
61+
vlen: '1'
62+
states:
63+
bus_sink: false
64+
bus_source: false
65+
bus_structure: null
66+
coordinate: [114, 430]
67+
rotation: 0
68+
state: true
69+
- name: dpd_GMP_model_PA_0
70+
id: dpd_GMP_model_PA
71+
parameters:
72+
affinity: ''
73+
alias: ''
74+
coeff1: (1)
75+
coeff2: (1, 1, 1, 1, 1, 1, 1, 1)
76+
comment: ''
77+
maxoutbuf: '0'
78+
minoutbuf: '0'
79+
mode: Both
80+
model_param1: '1'
81+
model_param2: '1'
82+
model_param3: '2'
83+
model_param4: '2'
84+
model_param5: '2'
85+
states:
86+
bus_sink: false
87+
bus_source: false
88+
bus_structure: null
89+
coordinate: [1026, 58]
90+
rotation: 0
91+
state: true
92+
- name: dpd_GMP_model_PA_1
93+
id: dpd_GMP_model_PA
94+
parameters:
95+
affinity: ''
96+
alias: ''
97+
coeff1: (1)
98+
coeff2: (1, 1, 1, 1, 1, 1, 1, 1)
99+
comment: ''
100+
maxoutbuf: '0'
101+
minoutbuf: '0'
102+
mode: Both
103+
model_param1: '1'
104+
model_param2: '1'
105+
model_param3: '2'
106+
model_param4: '2'
107+
model_param5: '2'
108+
states:
109+
bus_sink: false
110+
bus_source: false
111+
bus_structure: null
112+
coordinate: [896, 644]
113+
rotation: 0
114+
state: true
115+
- name: dpd_RLS_postdistorter_0
116+
id: dpd_RLS_postdistorter
117+
parameters:
118+
affinity: ''
119+
alias: ''
120+
comment: ''
121+
dpd_params: (3, 3, 2, 2, 2)
122+
iter_limit: '50'
123+
maxoutbuf: '0'
124+
minoutbuf: '0'
125+
states:
126+
bus_sink: false
127+
bus_source: false
128+
bus_structure: null
129+
coordinate: [615, 228]
130+
rotation: 180
131+
state: true
132+
- name: dpd_gain_phase_calibrate_0
133+
id: dpd_gain_phase_calibrate
134+
parameters:
135+
affinity: ''
136+
alias: ''
137+
comment: ''
138+
maxoutbuf: '0'
139+
minoutbuf: '0'
140+
states:
141+
bus_sink: false
142+
bus_source: false
143+
bus_structure: null
144+
coordinate: [896, 393]
145+
rotation: 180
146+
state: true
147+
- name: dpd_predistorter_training_0
148+
id: dpd_predistorter_training
149+
parameters:
150+
affinity: ''
151+
alias: ''
152+
comment: ''
153+
dpd_params: (3,3,2,2,2)
154+
maxoutbuf: '0'
155+
minoutbuf: '0'
156+
mode: training
157+
tap: (1)
158+
states:
159+
bus_sink: false
160+
bus_source: false
161+
bus_structure: null
162+
coordinate: [610, 91]
163+
rotation: 0
164+
state: true
165+
- name: qtgui_freq_sink_x_0
166+
id: qtgui_freq_sink_x
167+
parameters:
168+
affinity: ''
169+
alias: ''
170+
alpha1: '1.0'
171+
alpha10: '1.0'
172+
alpha2: '1.0'
173+
alpha3: '1.0'
174+
alpha4: '1.0'
175+
alpha5: '1.0'
176+
alpha6: '1.0'
177+
alpha7: '1.0'
178+
alpha8: '1.0'
179+
alpha9: '1.0'
180+
autoscale: 'False'
181+
average: '0.05'
182+
axislabels: 'True'
183+
bw: samp_rate
184+
color1: '"green"'
185+
color10: '"dark blue"'
186+
color2: '"red"'
187+
color3: '"blue"'
188+
color4: '"black"'
189+
color5: '"cyan"'
190+
color6: '"magenta"'
191+
color7: '"yellow"'
192+
color8: '"dark red"'
193+
color9: '"dark green"'
194+
comment: ''
195+
ctrlpanel: 'False'
196+
fc: '0'
197+
fftsize: '4096'
198+
freqhalf: 'True'
199+
grid: 'False'
200+
gui_hint: ''
201+
label: Relative Gain
202+
label1: PA_DPD
203+
label10: ''''''
204+
label2: PA_without_DPD
205+
label3: Predistorter_out
206+
label4: Input
207+
label5: ''''''
208+
label6: ''''''
209+
label7: ''''''
210+
label8: ''''''
211+
label9: ''''''
212+
legend: 'True'
213+
maxoutbuf: '0'
214+
minoutbuf: '0'
215+
name: '"PA_with_DPD"'
216+
nconnections: '4'
217+
showports: 'False'
218+
tr_chan: '0'
219+
tr_level: '0.0'
220+
tr_mode: qtgui.TRIG_MODE_FREE
221+
tr_tag: '""'
222+
type: complex
223+
units: dB
224+
update_time: '0.10'
225+
width1: '1'
226+
width10: '1'
227+
width2: '1'
228+
width3: '1'
229+
width4: '1'
230+
width5: '1'
231+
width6: '1'
232+
width7: '1'
233+
width8: '1'
234+
width9: '1'
235+
wintype: firdes.WIN_BLACKMAN_hARRIS
236+
ymax: '10'
237+
ymin: '-140'
238+
states:
239+
bus_sink: false
240+
bus_source: false
241+
bus_structure: null
242+
coordinate: [1370, 485]
243+
rotation: 0
244+
state: true
245+
246+
connections:
247+
- [blocks_file_source_0, '0', dpd_GMP_model_PA_1, '0']
248+
- [blocks_file_source_0, '0', dpd_gain_phase_calibrate_0, '1']
249+
- [blocks_file_source_0, '0', dpd_predistorter_training_0, '0']
250+
- [blocks_file_source_0, '0', qtgui_freq_sink_x_0, '3']
251+
- [dpd_GMP_model_PA_0, '0', dpd_gain_phase_calibrate_0, '2']
252+
- [dpd_GMP_model_PA_0, '0', qtgui_freq_sink_x_0, '0']
253+
- [dpd_GMP_model_PA_1, '0', dpd_gain_phase_calibrate_0, '0']
254+
- [dpd_GMP_model_PA_1, '0', qtgui_freq_sink_x_0, '1']
255+
- [dpd_RLS_postdistorter_0, taps, dpd_predistorter_training_0, taps]
256+
- [dpd_gain_phase_calibrate_0, '0', dpd_RLS_postdistorter_0, '0']
257+
- [dpd_predistorter_training_0, '0', dpd_GMP_model_PA_0, '0']
258+
- [dpd_predistorter_training_0, '0', dpd_RLS_postdistorter_0, '1']
259+
- [dpd_predistorter_training_0, '0', qtgui_freq_sink_x_0, '2']
260+
- [dpd_predistorter_training_0, '1', dpd_RLS_postdistorter_0, '2']
261+
262+
metadata:
263+
file_format: 1

lib/predistorter_training_impl.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,8 @@ void predistorter_training_impl::gen_GMPvector(const gr_complex* const in,
116116
GMP_vector.rows(kk * L_a, (kk + 1) * L_a - 1) = yy_temp;
117117
}
118118

119-
// if(K_b == 0)
120-
// return;
119+
if(K_b == 0)
120+
return;
121121

122122
/* Signal-and-Delayed Envelope */
123123
// stacking L_b+M_b elements in reverse order

0 commit comments

Comments
 (0)