Moderator Control Panel ]

FE_READ_BER and MER

Re: FE_READ_BER and MER

Postby IPMAN » Sat Dec 01, 2012 6:18 pm

Thanks Sergio...

Well using femon in this way that you've mentioned is great if I am using command line and actual femon program.
However this shouldn't be needed because using V4L drivers or TBS drivers and the appropriate calls should be able to output it already.
This means I shouldn't need to use femon, it should be outputting it already from the standard FE_READ_BER call.

So again, its a bit unfair to expect people to be using the femon program to do something that you should be able to call directly from FE_READ_BER command.

I really hope that support answer this question because I'm not the only one who has asked this, there are many many people who want this information and its never been given. Lets hope things change now for the better and support give a concrete answer on HOW and WHICH command gives the correct BER output. And even if there is a script or hack needed, thats fine, I just hope its posted here so that we can all use it.

IPMAN
IPMAN
 
Posts: 11
Joined: Sun Oct 21, 2012 10:02 am

Re: FE_READ_BER and MER

Postby updatelee » Sat Dec 01, 2012 10:21 pm

Im not going to argue semantics with you. I know what BER means, Ive read a few dvb spec sheets in my day.

If you want to see how its calculated why dont you open the src and see. I looked into the stv090x src and its quite obvious how they determine that number. Is it a correct ratio ? no, but all the data is there for you to implement it correctly, BER is a uint32 to you'll have to shift the decimal over say 6 places then shift them back later when displaying. I havent seen any linux dvb that reports in a true ratio though, they all just report like youve seen. The stv090x reports the number of bits in error per second. The count variable is already being read though, so if you want to divide that by the number of bytes read in that timeframe do so. but you wont be compatible with any other linux app out there right now.

btw this isnt a TBS issue, its a v4l issue. If you want every driver to report in the same way you should open notepad and get cracking. Im regularly working on improving the linux driver base, as are hundreds others. Why not join in instead of blaming others. Its opensrc, if it doesnt work its no ones fault but your own for not fixing it.

UDL
TBS6925/5980, Prof 7301/7500/8000, Genpix Skywalker-1, Skystar 2 Express HD
Hauppauge 950Q, Kworld 330U/435v3/445v3
Dreambox 800

I use Linux and support open source projects.
User avatar
updatelee
 
Posts: 374
Joined: Wed Jul 25, 2012 11:48 am
Location: CFB Edmonton

Re: FE_READ_BER and MER

Postby IPMAN » Mon Dec 03, 2012 8:35 am

Updatelee,

Why such animosity in your reply? WTF?

Who is blaming others? I am asking a very simple question, ESPECIALLY when I get a "0" for an output. What, in this forum we cannot ask questions?

Why don't you explain how to shift decimal points from "0" output to get a BER measurement? Why don't you show us an example of a calculation that will do this decimal place shift instead of attacking?

I suggest you take a chill pill and give constructive answers rather than attack people for asking questions. There are MANY people who would like to know the answer to this question, not only me and it is a logical and legitimate question and I don't see where the problem is.

Sure, if you say its not a TBS problem and that its a V4L problem... OK, no problem, if thats what it really is... then so be it, however if no one else is giving such information, Good, then you guys can be the first. Great :)

From a simple question such agro has been thrown across my screen, I almost fell off my chair after reading your post. Take it easy mate, you might live longer.

Anyway, hopefully you can provide some constructive information, that way we can find a solution to this most interesting problem.

IPMAN
IPMAN
 
Posts: 11
Joined: Sun Oct 21, 2012 10:02 am

Re: FE_READ_BER and MER

Postby crazycat » Mon Dec 03, 2012 9:07 am

IPMAN Wrote:I suggest you take a chill pill and give constructive answers rather than attack people for asking questions. There are MANY people who would like to know the answer to this question, not only me and it is a logical and legitimate question and I don't see where the problem is.


So this answer for your question :) V4L API return some BER as 32-bit unsigned value. This correspond to real demod drivers implementation for platforms without FPU support and BER registers return some BER*10e7 or BER*10e6 or BER*10e8 :) Depend from standard and implementation :) And V4L demod drivers usual return raw BER register value and user-space utils can interpret this values :) femon and many open-source V4L-compatible soft return raw BER 32-bit value, no more :)
crazycat
 
Posts: 551
Joined: Mon Jan 31, 2011 2:46 am
Location: Ukraine, Kharkov

Re: FE_READ_BER and MER

Postby IPMAN » Mon Dec 03, 2012 2:16 pm

Thanks crazycat for a nice constructive reply, at least we are getting somewhere now.

So next question is, How to implement this Without using software such as Femon?

A simplified and concise response would be appreciated as what I am looking for is a very basic method/implementation using Existing drivers/software, just the way it should be, without writing pages of code to convert BER values from output.

Also, I don't understand how you can convert 00000000 to a BER ratio How can this raw output be converted to a BER when it is 0 ?
The "00000000" raw output is given in femon, even though there is full signal (A HUGE 13dB C/N Carrier, beautiful BER 1E-9 and channel lock, yet 00000000 output)...

Looking forward to your reply
IPMAN
IPMAN
 
Posts: 11
Joined: Sun Oct 21, 2012 10:02 am

Re: FE_READ_BER and MER

Postby updatelee » Mon Dec 03, 2012 11:20 pm

Ok so currently it's returning the number of error bits counted since the last read up to 1 sec in duration. If you look at the stv090x sdc (I don't know what module your card uses, I know this module that's why I mention it) you'll see it also grabs the total number of bytes looked at in the same time. It just doesn't use that as a calc. Easy to implement though. Just times it by 8 yup get bits then divide errors by number of bits analyzed. Now you'll have a very small float. You need an int so multiple the number by 10 to the power of say 6 (1000000) then convert t to an int and return it. Then in your app take that int and divide by 10 pwr 6 and display the float value.

I may have come across as brash but so did you in an earlier post directed at me. I apologize, let's move on.
TBS6925/5980, Prof 7301/7500/8000, Genpix Skywalker-1, Skystar 2 Express HD
Hauppauge 950Q, Kworld 330U/435v3/445v3
Dreambox 800

I use Linux and support open source projects.
User avatar
updatelee
 
Posts: 374
Joined: Wed Jul 25, 2012 11:48 am
Location: CFB Edmonton

Previous

Return to Linux

Who is online

Users browsing this forum: No registered users and 8 guests

cron