Apologies - I assumed way too much.
My intention is to use mmbtools and on Ubuntu Linux (probably 10.04
LTS on account the desktop is waaay nicer :-P) with the objective to run the
CRC-DABmod in realtime playing out an ETI file or ETIoIP feed.
I doubt I need to do anything with GNURadio, but I will update it anyway.
R.
We are testing the B100 with mmTools.
A new baseband player to drive USRP is needed. I have posted 2 of them (one graphical and one non-graphical) here:
http://www.opendigitalradio.org/index.php/DAB_modulation
The B100 has a slightly better spectrum than the USRP1 because of half-band filter in the transmission chain.
However, in my experience so far, the UHD driver with the B100 is not as stable as the gnuradio classic USRP1 driver (that unfortunately gets removed from gnuradio version 3.5).
Ettus is working on improving it and the latest test version I've tried is much better. However the baseband player must run with "realtime" option.
It works well but you need a powerful machine and take care of not having any other device on the same USB bus.
For this reason, we continue working with classic USRP1 driver at the moment for our live broadcast transmission.
In the long term UHD will be the only way to go as all other will be deprecated and new Ettus products only work with it.
Regards
Mathias Coinchon
Dear all,
Best regards,
Rash.
------------------------------------------------------------------------------
**************************************************
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed.
If you have received this email in error, please notify the system manager. This footnote also confirms that this email message has been swept by the mailgateway
**************************************************
Well it seems when they sort out the driver, the B100 will actually be slightly better! By cleaner spectrum, do you just mean harmonic energy, or is the MER better too? :-)
I'd be curious to know how powerful a machine is needed - I was hoping to run it on a dual core Atom 1.6, but by the sound of it I can forget that thought!
Thank you both for your input, and Mathias - keep up the good work!
Regards,
Rash.
Hi,
By cleaner spectrum, I mean that you don't have these small spurious remains at the boundaries of the sampling bandwidth.
With USRP1, as I have understood, they have a less powerful FPGA and didn't implement half-band filter for transmission.
The results is that if you run at lower sampling frequencies like 2Msamples/s, more close to DAB bandwidth you get them stronger. If you run at higher sampling rate like 3.2Msamples as we do, they get less present.
Testing the B100 a 2Msamples/s you don't get these spurious components.
You could try to run it on an Atom but this may be difficult, I never tried. A lot of processing power of crc-dabmod is used for resampling, if you can avoid it , you can decrease CPU use a lot but then you need to have a USRP clock running at a multiple of 2.048MHz.
The B100 has a programmable clock so could in theory do that but I have never tested.
Regards
Mathias
I've once tried CRC-DabMod on a Acer AspireRevo AR3610 and the CPU was
unable to keep up. Only one core is used as CRC-DabMod is single
threaded. To limit the CPU power requirement, I've changed the hardware
clock of the USRP1 so that no resampling was required; it is the
building block that requires the most CPU power. Even doing that, the
processor was not powerful enough.
Regards,
Pascal
Rashid Mustapha wrote:
>
> Well it seems when they sort out the driver, the B100 will actually be
> slightly better! By cleaner spectrum, do you just mean harmonic
> energy, or is the MER better too? :-)
>
> I'd be curious to know how powerful a machine is needed - I was hoping
> to run it on a dual core Atom 1.6, but by the sound of it I can forget
> that thought!
>
> Thank you both for your input, and Mathias - keep up the good work!
>
> Regards,
>
> Rash.
>
> On Feb 9, 2012 4:38 PM, "Coinchon, Mathias" <coin...@ebu.ch
That is unsurprising...on that basis I would probably be better off with a single core P4 at 3GHz!
I have decided to take the plunge and get a B100 - I can think of so many uses for it as well as the principle driver - being able to try mmbtools end-to-end as I can probably use it as a crude spectrum analyser with tracking generator.....now those don't come cheaply enough anyway!
There! I've convinced myself it is an essential tool, and therefore a good investment!
Best regards,
Rash.
Pascal
> I have decided to take the plunge and get a B100 - I can think of so
> many uses for it as well as the principle driver - being able to try
> mmbtools end-to-end as I can probably use it as a crude spectrum
> analyser with tracking generator.....now those don't come cheaply
> enough anyway!
>
> There! I've convinced myself it is an essential tool, and therefore a
> good investment!
>
> On Feb 9, 2012 6:56 PM, "Pascal Charest" <pascal....@crc.ca
--
Pascal Charest
Research Engineer Ingénieur en recherche
Communications Research Centre Centre de recherches sur
Canada les communications Canada
3701 Carling Ave. 3701, avenue Carling
PO Box 11490, Station H CP 11490, succursale H
Ottawa, Ontario Ottawa, Ontario
Canada K2H 8S2 Canada K2H 8S2
Tel: (613) 998-2479 Tél.: (613) 998-2479
Fax: (613) 993-9950 Téléc.: (613) 993-9950
Email: pascal....@crc.ca Cour.: pascal....@crc.ca
Web site: www.crc.ca Site web: www.crc.ca
Government of Canada Gouvernement du Canada
Well, I have ordered the B100...I will report my findings! :-)
Problem is that I have little to go on to find the problem, which is
at the USRP end
I believe. A process of elimination tells me this...
I performed a tiny mod to Mathias's UHD player code to change the
Device Address from
usrp1 to b100, and built new python code which made everything appear
to work - I am
getting a stable fft plot, and a solid 'A' led on the unit, but mostly
no signal on the test
receivers - two different ones, for the avoidance of any doubt!
It eventually detects the ensemble, and I get the occasional burst of
audio, probably
for no longer than 300mS. I know the problem could be anything, unless there is
some fundamental thing about the B100 that I have yet to appreciate! I
was wondering
about clocking for a while, because I understand that the B100 has a
more flexible clock
than the usrp1. I did wonder why the output of dabmod was up-sampled
to 3.2M, when
it is 2.048M native, so again I modded the player code for that and
re-built, but the b100
didn't like it as it could only operate at ~2.062M.
Is there something fundamental I am missing? The UHD driver is freshly
compiled from
git, I have the latest GNURadio....CPU sits at about 53%, and memory
at ~25%. Its a
dual core pentium (lenovo). I have tried other machines too with the
same result.
Wish I had some decent test gear still! I'm wondering if there is some
code I can run on
the other port on the WBX to demod and look at what is going on with
the constellations?
Regards,
Rash.
After quite some time struggling with getting any more than 1-200mS of frame-up out of my test chain using a B100, I think I have worked out what is wrong. Under the circumstances it is quite astonishing that it has tried to work at all.
I believe a single, salient difference between the usrp1 and the b100 is the master clock. Usrp1 being fixed at 100 MHz and the B100 is programmable between 10 and 64 MHZ. I changed the devid code in Mathias's baseband player to get it to talk to the B100.
Can anyone suggest if it will work at a lower clock rate? The B100 clock defaults to 64 MHz.....suggestions?
Regards,
Rash.
Sent from my iPhone
Hi Rashid,
These are theoretical answers as I've never used something else than
USRP-1 with CRC-Dabmod.
References: http://files.ettus.com/uhd_docs/manual/html/
2.048 M samples per seconds is the native DAB sampling rate
128 M is the base USRP-1 clock
3.2 M is the minimum compatible rate over 2.048M compatible with 128M
The -c option should be used
100M is the base USRP-2 clock
4M should be used for CRC-Dabmod
The -c option should NOT be used
32-64 M is the base USRP-B100 clock (not sure???)
If possible, master clock should be set to 32.768 M and 2.048 should be
used for CRC-Dabmod
The -c option should NOT be used
http://files.ettus.com/uhd_docs/manual/html/usrp_b1xx.html#set-other-rates-uses-internal-vco
Note: The -c option enables a pre-processing filter that is equal to the
USRP-1 resampling building block response. It should not be used for
anything other than for the USRP-1
Regards,
Pascal
Yes, it isn't 10-64 MHz like I initially thought - it does seem to
accept 32.768 MHz fortunately
so I will give it a go.
The sample rates in Mathias's player are fixed at 3200k, so I will
modify this to 2048k - not sure
if I will have to do anything with the multiply constant though...
I will carry on regardless!
R.
So the player also needs modification to operate at 2048
It turned out to be trivial to alter the sampling rates in the UHD
dwap, but what I
am struggling with is setting the B100 clock on execution. It is
volatile and needs
the argument each time it is executed.
uhd_usrp_probe --args="master_clock_rate=32768000"
R.
As suspected, the out-rate goes back to 64 MHz...worse is the sample
rate warning :(
-- USRP-B100 clock control: 10
-- r_counter: 2
-- a_counter: 0
-- b_counter: 20
-- prescaler: 8
-- vco_divider: 5
-- chan_divider: 5
-- vco_rate: 1600.000000MHz
-- chan_rate: 320.000000MHz
-- out_rate: 64.000000MHz
--
UHD Warning:
The hardware does not support the requested TX sample rate:
Target sample rate: 2.048000 MSps
Actual sample rate: 2.064516 MSps
-- Loaded /home/sdr/.uhd/cal/tx_iq_cal_v0.1_E1R1BWCXW.csv
-- Loaded /home/sdr/.uhd/cal/tx_dc_cal_v0.1_E1R1BWCXW.csv
>>> gr_fir_ccf: using SSE
Last report, as it is now time for bed.
No joy - nothing :(
B100 clock running at 64 MHz. I figure it is ok because this is 16x oversampling
with crc-dabmod output running at 4M, dwap at 4M.
No errors, and cpu/mem seem happy. Solid TX light on USRP.
I presume it cannot be that the signal is inverted? I'll try to
multiply by minus to
spin the vector in the opposite direction, but I am clutching at straws now!
R.
Append the option pair in the Device Attr.
1- double click UHD: USRP Sink
2- select Device Attr
3- write "type=b100,master_clock_rate=32768000 "
4- save and compile
5- run CRC-DABMOD with no -r -c options
6- run Mathias script with -r2048000 option
Et voilà!
For options 3, I suggest to also add num_send_frame=128 for better
stability.
Pascal
I was looking for documentation on the new sink module - I guess not in the right place!
Will try it out after work today, It was annoying knowing what I had to change, but not being able to find it so I am grateful! Thanks also for the stability tweak - I'd like to find the dox for the sink so I can better understand the conversation between the modulator and the B100!
Thanks also to Mathias for his UHD dwap.
Best regards,
Rash.
Sent from my iPhone
You need to read between lines; every option can be used as comma
separated pair within Device Attr.
Another really useful tips for stability: turn off onDemand CPU
frequency scaling otherwise there is a lot of underruns (you know, UuUu...)
Pascal
I've been digging around in there for some time but couldn't figure how to apply
that argument. I think it is the GNU Radio (especially the UHD sink) that I need
to invest some time in in reading up on.
It works :-) Not impressed with the MER at the moment so I am going to remove
the self-cal files and see if that improves matters.
R.
Pleased it is doing something though!
R.
--
You received this message because you are subscribed to the Google Groups "mmbtools" group.
To unsubscribe from this group and stop receiving emails from it, send an email to crc-mmbtools...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
--