Today i dedicated my spare time to the tx basci board, experimenting with
usb, lsb and am signal synth.
The idea was tp get voice from pc microphone and usb or lsb modulate it. I
used a phasing modulator, based on the code excerpt reported below;
basically I apply a pass band to the float source, then an hilbert filter
followed by a software interpolation, to finish with the usrp interpolating
the final jump to 128MS.
To my surprise, I got USB with this graph, and i had to conjugate the output
of the hilbert filter to get the LSB.
That is because in my mind i had modelized the tx path of the usrp as the
usual NCO (sine and cosine) multiplied by the real and imaginary stream
arriving from usb and an ADDER in the end. Now, from what I recall, if I sum
I should get LSB and if I subtract i should get USB; here it looks like it
behaves the other way around. Any explanation for that?
ciao
Matteo iz2eeq
audio_rate = 32000
sw_interp = 8
usrp_interp = 512
fg = gr.flow_graph ()
ampl = 20000
src0 = gr.sig_source_f (audio_rate, gr.GR_SIN_WAVE, 700 , ampl)
src2 = audio.source(audio_rate)
moni = audio.sink(audio_rate)
gain = gr.multiply_const_ff (20000)
interp_taps = gr.firdes.band_pass (sw_interp,
audio_rate*sw_interp,
300,
3300,
1000,
gr.firdes.WIN_HANN)
print len(interp_taps)
hilb_taps = gr.firdes.hilbert(199)
hilb_filt = gr.filter_delay_fc(hilb_taps)
interp = gr.interp_fir_filter_ccf (sw_interp, interp_taps)
conj = gr.conjugate_cc()
u = usrp.sink_c (0, usrp_interp)
tx_subdev_spec = usrp.pick_tx_subdevice(u)
m = usrp.determine_tx_mux_value(u, tx_subdev_spec)
print "mux = %#04x" % (m,)
u.set_mux(m)
subdev = usrp.selected_subdev(u, tx_subdev_spec)
print "Using TX d'board %s" % (subdev.side_and_name(),)
print "Gain Range %s" % (subdev.gain_range(),)
u.set_tx_freq (0, cordic_freq)
u.set_pga(0,0)
fg.connect (src2, gain)
fg.connect (gain, hilb_filt)
#fg.connect (src1,hilb_filt)
fg.connect (hilb_filt,interp)
fg.connect (interp,conj)
fg.connect (conj,u) #LSB
#fg.connect (interp, u) #USB
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio