I moved the rational resampler block from the output side to the input
side of the WBFM.
The output of WBFM block needs to match the input of your LimeSDR.
I don't have the LimeSDR software installed so I couldn't look inside
the sink block.
-- Cinaed
P.S - yes, you can post GRC's on the mailing list - they're text based.
On 3/17/21 4:14 AM, Anish Mangal wrote:
I linked
<https://drive.google.com/file/d/1xQz1Kp_feAO1YrZRXXnMF25XEGgqVPSw/view?usp=sharing>
the grc file in the original email. Attaching it here as well. (Don't
know if the mailing list allows attachments)
On Wed, Mar 17, 2021 at 1:40 PM Cinaed Simson <cinaed.sim...@gmail.com
<mailto:cinaed.sim...@gmail.com>> wrote:
Hi Anish - since this is a gnuradio mailing list, the starting
point would be to post your GRC - which is an yaml or text file.
-- Cinaed
On 3/16/21 11:19 PM, Anish Mangal wrote:
Hi! Any pointers to where I can start debugging this?
Maybe run gnuradio-companion in debug mode?
Do more simpler tests?
Any other suggestions?
I have a HackRF One and will try the exact same comparison there
too ... SDRAngel & grc
On Mon, Mar 15, 2021 at 7:32 PM Anish Mangal <anis...@umich.edu
<mailto:anis...@umich.edu>> wrote:
Hi,
To properly explain the issue I'm facing, I recorded a video
showing Oscilloscope waveforms.
https://drive.google.com/file/d/11anGShu-I3NhL9Jet6YAiyBprvwP4kDc/view?usp=sharing
<https://drive.google.com/file/d/11anGShu-I3NhL9Jet6YAiyBprvwP4kDc/view?usp=sharing>
The gnuradio flowgraph is here:
https://drive.google.com/file/d/1xQz1Kp_feAO1YrZRXXnMF25XEGgqVPSw/view?usp=sharing
<https://drive.google.com/file/d/1xQz1Kp_feAO1YrZRXXnMF25XEGgqVPSw/view?usp=sharing>
The various versions of the software/hardware involved are
the following.
gnuradio-companion: 3.8.2.0 (Python 3.6.9)
gr-limesdr: branch gr-3.8 (last commit
47511dd58de1695b70e1028366411bada85eb60f)
sdrangel: 4.12.1
OS: Linux Mint 19.1
CPU: Intel© Core™ i7-4900MQ CPU @ 2.80GHz × 4
RAM: 16GB
H/w: Thinkpad T440p
tl;dr
I'm trying a simple test to create a sinewave output from a
WFM modulator block. If there is no audio input, its WFM
modulated signal should be a simple sinewave. If I test this
with SDRAngel, I see a clean-ish actual sinewave in time
domain on the oscilloscope. But if I try to do the same with
gnuradio, it seems to produce a glitchy signal.
Could I have any advice on what I might be doing wrong?
Thanks,
Anish // VU2TVE
options:
parameters:
author: Lime Microsystems
category: '[GRC Hier Blocks]'
cmake_opt: ''
comment: ''
copyright: ''
description: ''
gen_cmake: 'On'
gen_linking: dynamic
generate_options: qt_gui
hier_block_src_path: '.:'
id: fm_transmitter
max_nouts: '0'
output_language: python
placement: (0,0)
qt_qss_theme: ''
realtime_scheduling: ''
run: 'True'
run_command: '{python} -u {filename}'
run_options: prompt
sizing_mode: fixed
thread_safe_setters: ''
title: FM transmitter
window_size: ''
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [8, 8]
rotation: 0
state: enabled
blocks:
- name: audio_rate
id: variable
parameters:
comment: ''
value: int(48e3)
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [208, 108.0]
rotation: 0
state: enabled
- name: baseband
id: variable_qtgui_entry
parameters:
comment: ''
gui_hint: 0,0,1,2
label: TX Baseband [MHz]
type: real
value: '97'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [180, 8]
rotation: 0
state: true
- name: gain
id: variable_qtgui_range
parameters:
comment: ''
gui_hint: 1,0,1,1
label: Gain [dB]
min_len: '70'
orient: Qt.Horizontal
rangeType: int
start: '0'
step: '1'
stop: '60'
value: '30'
widget: counter_slider
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [336, 9]
rotation: 0
state: true
- name: pa_path
id: variable_qtgui_chooser
parameters:
comment: ''
gui_hint: 1,1,1,1
label: PA Path
label0: Auto
label1: Band1
label2: Band2
label3: W
label4: ''
labels: '[]'
num_opts: '3'
option0: '0'
option1: '1'
option2: '2'
option3: '3'
option4: '4'
options: '[0, 1, 2]'
orient: Qt.QVBoxLayout
type: int
value: '255'
widget: combo_box
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [462, 8]
rotation: 0
state: disabled
- name: quad_rate
id: variable
parameters:
comment: ''
value: int(10*audio_rate)
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [112, 108.0]
rotation: 0
state: enabled
- name: samp_rate
id: variable
parameters:
comment: ''
value: 2e6
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [10, 106]
rotation: 0
state: enabled
- name: analog_const_source_x_0
id: analog_const_source_x
parameters:
affinity: ''
alias: ''
comment: ''
const: '0'
maxoutbuf: '0'
minoutbuf: '0'
type: float
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [24, 316.0]
rotation: 0
state: true
- name: analog_wfm_tx_0_0
id: analog_wfm_tx
parameters:
affinity: ''
alias: ''
audio_rate: audio_rate
comment: ''
fh: '-1'
max_dev: 125e3
maxoutbuf: '0'
minoutbuf: '0'
quad_rate: int(audio_rate*10)
tau: 75e-6
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [592, 284.0]
rotation: 0
state: enabled
- name: blocks_throttle_0
id: blocks_throttle
parameters:
affinity: ''
alias: ''
comment: ''
ignoretag: 'True'
maxoutbuf: '0'
minoutbuf: '0'
samples_per_second: samp_rate
type: float
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [216, 316.0]
rotation: 0
state: true
- name: limesdr_sink_0_0
id: limesdr_sink
parameters:
affinity: ''
alias: ''
allow_tcxo_dac: '0'
analog_bandw_ch0: '0'
analog_bandw_ch1: 5e6
calibr_bandw_ch0: '0'
calibr_bandw_ch1: 2.5e6
channel_mode: '0'
comment: ''
dacVal: '180'
digital_bandw_ch0: samp_rate
digital_bandw_ch1: samp_rate
filename: ''
gain_dB_ch0: '40'
gain_dB_ch1: '1'
length_tag_name: ''
nco_freq_ch0: '0'
nco_freq_ch1: '0'
oversample: '0'
pa_path_ch0: '1'
pa_path_ch1: '255'
rf_freq: baseband*1e6
samp_rate: samp_rate
serial: ''
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [976, 156.0]
rotation: 0
state: disabled
- name: qtgui_freq_sink_x_0
id: qtgui_freq_sink_x
parameters:
affinity: ''
alias: ''
alpha1: '1.0'
alpha10: '1.0'
alpha2: '1.0'
alpha3: '1.0'
alpha4: '1.0'
alpha5: '1.0'
alpha6: '1.0'
alpha7: '1.0'
alpha8: '1.0'
alpha9: '1.0'
autoscale: 'False'
average: '1.0'
axislabels: 'True'
bw: 25*quad_rate/6
color1: '"blue"'
color10: '"dark blue"'
color2: '"red"'
color3: '"green"'
color4: '"black"'
color5: '"cyan"'
color6: '"magenta"'
color7: '"yellow"'
color8: '"dark red"'
color9: '"dark green"'
comment: ''
ctrlpanel: 'False'
fc: baseband*1e6
fftsize: '1024'
freqhalf: 'True'
grid: 'False'
gui_hint: 2,0,1,2
label: Relative Gain
label1: ''
label10: ''''''
label2: ''''''
label3: ''''''
label4: ''''''
label5: ''''''
label6: ''''''
label7: ''''''
label8: ''''''
label9: ''''''
legend: 'True'
maxoutbuf: '0'
minoutbuf: '0'
name: '"Transmiting data"'
nconnections: '1'
showports: 'False'
tr_chan: '0'
tr_level: '0.0'
tr_mode: qtgui.TRIG_MODE_FREE
tr_tag: '""'
type: complex
units: dB
update_time: '0.50'
width1: '1'
width10: '1'
width2: '1'
width3: '1'
width4: '1'
width5: '1'
width6: '1'
width7: '1'
width8: '1'
width9: '1'
wintype: firdes.WIN_BLACKMAN_hARRIS
ymax: '10'
ymin: '-140'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [1000, 360.0]
rotation: 0
state: enabled
- name: rational_resampler_xxx_0_0
id: rational_resampler_xxx
parameters:
affinity: ''
alias: ''
comment: ''
decim: int(samp_rate)
fbw: '0'
interp: int(audio_rate)
maxoutbuf: '0'
minoutbuf: '0'
taps: ''
type: fff
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [384, 292.0]
rotation: 0
state: enabled
connections:
- [analog_const_source_x_0, '0', blocks_throttle_0, '0']
- [analog_wfm_tx_0_0, '0', limesdr_sink_0_0, '0']
- [analog_wfm_tx_0_0, '0', qtgui_freq_sink_x_0, '0']
- [blocks_throttle_0, '0', rational_resampler_xxx_0_0, '0']
- [rational_resampler_xxx_0_0, '0', analog_wfm_tx_0_0, '0']
metadata:
file_format: 1