rrTV-PHOTO   New HD TV
HOME   rrTV-PHOTO   GALLERIES   MY GALLERY   HELP-FAQ
myHOME PM pmRR MEMBERS 835 ONLINE 21 EVENTS SEARCH REGISTER  START HERE
 
5 pages [ <<    <     2      3     ( 4 )     5     NEXT    >> ]15748 viewsPOST REPLY
CarbonXtreme . Midland Helicopters . HeliProz

.
.
Radio - Servo - Gyro - Gov - Batt > Decoding Futaba PCM 1024Z
 
 
FredericG
Heliman
Location: Belgium

Hi,

Happy you like the results...

This morning, I had to leave and I wanted to have the preliminary results out. I had a look at my excel file where I have stored the measurements, and yes I failed to look for the exact transition form 11 to 12, it should be 28. The 10, should have been an 8 and this was a typo…

I will have a slore look at the other questions.

Frederic
11-10-2003 Over year old.
HOMEPAGE  
 
 
FredericG
Heliman
Location: Belgium

With this setup, the biggest step I can make is from 30 to 998 (by mixing 100%, set the slider to maximum and by toggling the between – and + mixing). I see two pcm_delta’s: 1 and 15. When I reduce the step (for example step between 400 and 682) I still get 15 and 1.

So I believe that:
- delta_pcm is only 4 bits
- 88 is the maximum delta
- 0 as delta_pcm is not used.

Frederic
11-10-2003 Over year old.
HOMEPAGE  
 
 
w.pasman
Elite Veteran
Location: Netherlands

Strange, so they dont use delta code "0"? That is 1/16 of the available space=6% !.
I agree that if you get delta=15 over such a large range there must be only 4 bits of delta. Surprising, my latency setup must have been less noisy and more accurate then I thought, I must have been working in the 0-100 range, only 1/20th of the total range.

"0 as delta_pcm is not used"
What do you mean with that? I thought that 8 was representing no delta?

Angelos
This showed that Frederic can replace that $40000 scope with some thinking and scripting his fingers
11-10-2003 Over year old.
HOMEPAGE  
 
 
Angelos
Key Veteran
Location: nr Oxford, OX11, UK

Quote 
"0 as delta_pcm is not used" What do you mean with that? I thought that 8 was representing no delta?



Think of the 4 bits as a signed number. 1000b = 0

Quote 
his showed that Frederic can replace that $40000 scope with some thinking and scripting his fingers


$58000 but it took me less than an hour to figure out the values. Tools help when they are available. Yes that 3GHz scope is an overkill for this job.
11-10-2003 Over year old.
 
 
w.pasman
Elite Veteran
Location: Netherlands

This delta-array result is already extending the public knowledge on the PCM1024Z format. So I think I will round up my report and post the final version. Remember, that first report I planned was on the current knowledge.

Then we have to think about whether we go on finding the other bits. One clearly open question is about the order of the channels in the frames. And there's the failsafe and channel 9/10 bit location. None of them is really important for the latency but the first open question is quite a big one I would say...

Shall we proceed or should we give you some time Angelos to get your product on the market or to sell the knowledge?

Of course if others want to proceed I can't stop them, and then I dont want to miss the fun of the puzzling.
11-10-2003 Over year old.
HOMEPAGE  
 
 
w.pasman
Elite Veteran
Location: Netherlands

Quote 
Think of the 4 bits as a signed number. 1000b = 0


Usually it is

1111= -1
1110= -2
1101= -3
1100= -4
1011= -5
1010= -6
1001= -7
1000= -8

So they could have set -8 => -116
11-10-2003 Over year old.
HOMEPAGE  
 
 
Angelos
Key Veteran
Location: nr Oxford, OX11, UK

w.pasman,

once the 6b10b encoding is known it is not that difficult to figure out the rest of the protocol. The error checking algorithm is probably the only challenging part but it only took me a day or two. So carry on, and enjoy the puzzle.

I am meeting someone on Wednesday to discuss RF front end design for my PCM decoder.

-Angelos
11-10-2003 Over year old.
 
 
FredericG
Heliman
Location: Belgium

Wouter,

If I am not mistaken, the articles that you mentioned at the beginning of the thread assume that PCM has to wait for the complete frame to be received before a servo can be updated because the CRC is at the end. Is this not also an assumption you made in your latency report? In your PCM document, again if I am not mistaken, we no longer speak about a CRC, but about an XOR for each packet (or is there still a CRC at the end?). I presume this has high impact on latency, no?

Frederic
11-10-2003 Over year old.
HOMEPAGE  
 
 
Angelos
Key Veteran
Location: nr Oxford, OX11, UK

FredericG,
as you know each frame has 4 packets with individual error checking data. The receiver generates the pulses for Ch1 and 2 during the second packet and this is not coincidence. Futaba tries to make use of the data as soon as they are available.
-Angelos
11-10-2003 Over year old.
 
 
w.pasman
Elite Veteran
Location: Netherlands

Frederic

The report stands as it is; for the measurements I did not use any assumptions. However I had problems explaining the results.

Before we started making this overview the main source of info on the PCM format was Rother's webpage. Indeed that page says that the PCM format has a CRC at the far end.

We found COMPLETELY different results here.

He says he got this information from Futaba. Well they either have told him nonsense, he misunderstood it, or he is talking about another Futaba thing we don't know about.

Anyway I have to relook at my latency results, probably they are completely explainable now.

Yes if smartpropo is right about this code, it is really an ECC and not a CRC. I would like to check that too. No one mentions a CRC at the end, except that Rother webpage.

Sure this has big impact on the max latency. This is I think much better than a CRC at the end. See my discussion with MarkF on this on his home-brew receiver thread.
11-10-2003 Over year old.
HOMEPAGE  
 
 
Phil Cole
Veteran
Location: Redwood City CA

CRC is a rather generic term. A lot of error checking and error correcting codes are CRCs. It's a matter of what polynomial you use and the processing you do.

Even the simple parity bit is a CRC error checking code. The generator polynomial is 1.

I would not get hung up on the terminology.

One thing to be thankful for is that Futaba didn't scramble the data. I guess they thought the 6B10B code was good enough, though it does waste bandwidth.
11-10-2003 Over year old.
 
 
w.pasman
Elite Veteran
Location: Netherlands

Phil,

As far as I understand it, ECC means error CORRECTING code. CRC allows only error detection but not correction. The XOR mechanism of Futaba allows correction of 1 bit error, but not 2 bits. see my report.
11-10-2003 Over year old.
HOMEPAGE  
 
 
Angelos
Key Veteran
Location: nr Oxford, OX11, UK

CRC = Cyclic Redundancy Check = specific error checking algorithm

ECC = Error Correcting Code. There are many algorithms that do this, but if they don’t correct errors they can’t be called ECC.
11-10-2003 Over year old.
 
 
MarkF
Senior Heliman
Location: Palo Alto, CA

Hi, Gang!

I just wanted to pop my head up long enough from my project to congratulate you all on the great progress you are making!

To really simplify decoding of the RF frame format, the easiest way to do it is to change the trim step size to '1', then just tap the trim switches up and down to get nice linear counts. This is what I did when I was looking at the Airtronics format.

Again, great job, folks!

Cheers!
MarkF
11-11-2003 Over year old.
HOMEPAGE  
 
 
FredericG
Heliman
Location: Belgium

Quote 
Again, great job, folks!

Thanks


Angelos,
Are you still working on the TX project? How is your progress there?


Wouter,
Quote 
The report stands as it is; for the measurements I did not use any assumptions. However I had problems explaining the results.

I wonder if there are also “failsafe” packets that could occasionally delay the normal data packets and cause some extra delay.


Quote 
Shall we proceed or should we give you some time Angelos to get your product on the market or to sell the knowledge?

I am curious and I would like to find out everything, but I am not in a hurry...


Currently, I am busy making an application that shows as much info as possible on PCM frames that where recoded before and logged in a file. Currently it looks like this (the channel number are still incorrect)


== SYNC =============================================
000000 FrameType: EVEN
11 Meaning unknown (yet)
0011001100 => PCM byte 101000
0000001100 => PCM byte 111110
0000111111 => PCM byte 001010
1111110011 => PCM byte 000001
aux= 2 ecc=129 A2= 994 D1= 8
0011111111 => PCM byte 001000
0011000111 => PCM byte 100000
0001100000 => PCM byte 111000
1110011100 => PCM byte 010101
aux= 0 ecc= 21 A4= 526 D3= 8
0011001100 => PCM byte 101000
0011000111 => PCM byte 100000
1111100011 => PCM byte 000010
0000110011 => PCM byte 101011
aux= 2 ecc=171 A6= 512 D5= 8
0011111111 => PCM byte 001000
0011000111 => PCM byte 100000
1111100111 => PCM byte 000011
0001110011 => PCM byte 100001
aux= 0 ecc=225 A8= 512 D7= 8

== SYNC =============================================
000011 FrameType: ODD.
0001110011 => PCM byte 100001
1100111000 => PCM byte 011111
1110000011 => PCM byte 011010
0000111111 => PCM byte 001010
aux= 2 ecc=138 A1= 502 D2= 1
0011111111 => PCM byte 001000
1100111000 => PCM byte 011111
0011111111 => PCM byte 001000
1100110000 => PCM byte 101100
aux= 0 ecc= 44 A3= 498 D4= 8
0011001100 => PCM byte 101000
1111110011 => PCM byte 000001
0001111000 => PCM byte 110001
1100001100 => PCM byte 101110
aux= 2 ecc=110 A5= 28 D6= 8
0011111111 => PCM byte 001000
0011000111 => PCM byte 100000
1111100111 => PCM byte 000011
0001110011 => PCM byte 100001
aux= 0 ecc=225 A7= 512 D8= 8



I also wonder it there is something after the 4 packets (Again Anglos, you have the right to remain silent)

Frederic
11-11-2003 Over year old.
HOMEPAGE  
 
 
w.pasman
Elite Veteran
Location: Netherlands

Hi guys

I finished the first part of the job, the report on 'public knowledge' or however you want to name it. It's here for download

http://graphics.tudelft.nl/~wouter/...s/pasman03k.pdf

I like finished jobs, gives free hands to go ahead

All your remarks and suggestions were very helpful in finding the sources and improving on the knowledge. MANY THANKS ALL If you happen to be around in Delft feel free to come and have a drink on this success! Unfortunately it seems you're all quite distant...
11-11-2003 Over year old.
HOMEPAGE  
 
 
w.pasman
Elite Veteran
Location: Netherlands

Hi MarkF

Thanks for the compliments!

Good to see you here. Just in time to join the celebration of another finished report and research. Well lots to be done still of course but research is never finished (luckily as it is my job )
11-11-2003 Over year old.
HOMEPAGE  
 
 
w.pasman
Elite Veteran
Location: Netherlands

Frederic

That looks great! Exactly what I was thinking to make to figure out the rest of the bits. My fingers start itching already. Can I get a copy of source & compiled code?
By the way maybe you can also print the two extra bits after the odd frame header? I'm not so convinced that they have to be thrown away... [EDIT: you have them already! Mixed them up with the unknown AUX field]

I really should have that working on my mac too, then I can compile the stuff at home. Also that would make a nice shareware tool and break the silence on the macintosh for simulators. Stupidly I could not find a good source code example of getting a sound sample on OSX yet. Seems pretty complex and I'm a bit digging into the manuals now...
11-11-2003 Over year old.
HOMEPAGE  
 
 
w.pasman
Elite Veteran
Location: Netherlands

Hi

I checked the ECC calculation. Indeed it is as the smartpropo engineer tells us, amazing! Have checked only the numbers given above by Frederic.
The only thing I had wrong was the order, it shows I reversed the array. The first element in the array is for the RIGHTmost bit, not the leftmost.
11-11-2003 Over year old.
HOMEPAGE  
 
 
w.pasman
Elite Veteran
Location: Netherlands

As a sidenote about my report, I didn't incorporate the new 'results' we found here in the report, only the remarks and comments on existing data in the sources. Therefore I thought it appropriate to put only my name on top and a reference to here.
As we figure out the features that were unknown up to now (no Angelos I dont count you ) I will make a new report with them in it. Then I propose I will also add the names of the people that report the method they used and values they found in the report. So Frederic I guess you will be co-author
11-11-2003 Over year old.
HOMEPAGE  
 
 
5 pages [ <<    <     2      3     ( 4 )     5     NEXT    >> ]15748 viewsPOST REPLY
ZoomsHobbies . HeliHobby . Ron’s HeliProz South

.
.
Radio - Servo - Gyro - Gov - Batt > Decoding Futaba PCM 1024Z
 PRINT TOPIC Advertisers 

Subscribe to This Topic

Thursday, December 4 - 10:11 pm - Copyright © 2000 - 2008 runryder.com | email | link to rr | runryder needs cookie