|
It is currently 26 Apr 2024, 04:22
|
View unsolved topics | View unanswered posts
|
|
|
|
Author |
Message |
titan91
|
Post subject: Re: (WIP) Laserdisc software image decoder from raw signal Posted: 28 Jul 2020, 00:30 |
Honest fan |
|
|
Joined: 14 Jul 2019, 02:53 Posts: 81 Location: United States Has thanked: 10 times Been thanked: 4 times
|
happycube wrote: The V2600 is really a CLD-S201 with a serial port. If you get a good deal on it and it's fixable, it's still nice Yeah! It came from a high school library across the state so I'm assuming the laser has low hours. Unless it was on an A/V cart and used in classrooms. When I was in high school we had a LaserDisc player (possibly this exact model) and I was intrigued by the perfect freeze frame capabilities. Looking at the design of the consumer model I immediately see two easily accessible belts. Hopefully the disc transport is the same and I can get to those without much trouble. The seller claims it doesn't eject and makes a noise, which is either going to be a bad belt or lubrication issue.
Last edited by titan91 on 30 Jul 2020, 02:32, edited 1 time in total.
|
|
|
|
|
9954tony
|
Post subject: Re: (WIP) Laserdisc software image decoder from raw signal Posted: 07 Aug 2020, 05:02 |
Serious fan |
|
|
Joined: 12 Sep 2015, 05:57 Posts: 210 Location: United States Has thanked: 5 times Been thanked: 54 times
|
Getting there (with LimeSDR as capturing device)... The LD player i am using is a spare Frankenstein player that i put together from 2 broken ones. It has RF noise and crosstalk issues, so part of the "badness" of the picture is from that. I'm going to work on making an example video from some of my samples and will report back. (capture is from this disc/set: https://www.lddb.com/laserdisc/18974/EE ... al-Edition)
|
|
|
|
|
9954tony
|
Post subject: Re: (WIP) Laserdisc software image decoder from raw signal Posted: 10 Aug 2020, 22:00 |
Serious fan |
|
|
Joined: 12 Sep 2015, 05:57 Posts: 210 Location: United States Has thanked: 5 times Been thanked: 54 times
|
drecksoft wrote: Interesting approach with LimeSDR. Did you modify ld-decode in any way or did you get the LimeSDR to output the same format as the DD? For the sake of transparency, using an SDR was based off of a suggestion/comment in this thread made several years ago, it wasn't my idea. At the time, no affordable SDR with proper specs was available. I had been watching the SDR development since then and then LimeSDR came out. Happycube added support for float32 files with .rf extension, that is built into the main code now. One problem, is that LimeSDR outputs I&Q data, so those have to be split before using LD-Decode. Initially i was doing this in "real time", however, attempts to do this in "real" time resulted in a few dropped samples, so right now, it is a multi stage process. I have to capture the IQ data directly to a file, then run through it again to split it apart. Secondly, I am also not getting any EFM/PCM/digital audio. I am not sure why, the LimeSDR might not be sensitive enough at the low frequency where that data is encoded. If that is the case, then LimeSDR won't be a true "whole disc capture" solution. For my use, i can capture digital audio directly from the player and merge them later on. I am now interested in the "red pitaya" family of devices, and i ordered one, it's on the way. The 125/10 is much less expensive than a LimeSDR, and the 125/14 is about the same, and neither of them need as many accessories purchased (LimeSDR required heat sinks and breakout RF cables purchased separately). The specs seem to indicate they have better frequency response than LimeSDR at the frequencies needed.
|
|
|
|
|
atsampson
|
Post subject: Re: (WIP) Laserdisc software image decoder from raw signal Posted: 11 Aug 2020, 20:22 |
Genuinely interested |
|
|
Joined: 08 Feb 2007, 17:24 Posts: 35 Location: Scotland Has thanked: 8 times Been thanked: 5 times
|
9954tony wrote: Secondly, I am also not getting any EFM/PCM/digital audio. I am not sure why, the LimeSDR might not be sensitive enough at the low frequency where that data is encoded. Please can you file a bug against ld-decode for that, ideally with a few short samples from different discs? The EFM PLL is very sensitive to frequency/phase response, and its current filter was adjusted fairly empirically to equalise DDD captures - it's entirely possible that the LimeSDR's input filter shape is different enough that it'd need tweaking to match. I've got a little Python tool that lets you do this interactively...
|
|
|
|
|
9954tony
|
Post subject: Re: (WIP) Laserdisc software image decoder from raw signal Posted: 12 Aug 2020, 23:33 |
Serious fan |
|
|
Joined: 12 Sep 2015, 05:57 Posts: 210 Location: United States Has thanked: 5 times Been thanked: 54 times
|
atsampson wrote: Please can you file a bug against ld-decode for that, ideally with a few short samples from different discs? The EFM PLL is very sensitive to frequency/phase response, and its current filter was adjusted fairly empirically to equalise DDD captures - it's entirely possible that the LimeSDR's input filter shape is different enough that it'd need tweaking to match. I've got a little Python tool that lets you do this interactively... Thanks. I just want to make sure i am doing everything on my end to get a good sample before i call it a bug.
|
|
|
|
|
9954tony
|
Post subject: Re: (WIP) Laserdisc software image decoder from raw signal Posted: 14 Aug 2020, 01:56 |
Serious fan |
|
|
Joined: 12 Sep 2015, 05:57 Posts: 210 Location: United States Has thanked: 5 times Been thanked: 54 times
|
titan91 wrote: You're the only person I know of to use an SDR. Can you elaborate on how you split the I and Q channels? Is it simply separating them and exporting 2 new files or do they have to be mixed? I have a decent amount of SDR experience including a HackRF. I don't have much SDR experience at all, learning as i go... I think i am having some general driver compatibility issues with ubuntu, so the only truly successful video capture (the Jason and Argonaughts interview) went like this: 1. Using windows and Pothos Flow: just the "LimeSDR source" set to complex float32 out directly to "File Sink". This creates a large file and requires a lot of disk bandwidth. My first oversight was not calculating this and trying to save the data to a single spinning SATA disk, now saving to an 2xSSD RAID0 stripe. I would only get 4-5 frames decoded, the first frame good, each subsequent one more distorted until the process aborted. I'm ashamed to say, i fiddled with everything else for 7-10 days before it dawned on me, the disk link was getting saturated. [facepalm] 2. Reboot into ubuntu (it's a dual boot machine), use gnu radio companion to read in / split up the file. i set up a flow graph that goes like this: binary file source (32float complex) -> throttle 40msps -> low pass filter + gain (14.5mhz lpf, gain varies 5-20 depending on capture signal) -> split complex -> real output to binary file sink with ".rf" extension (leave the "imaginary" component disconnected, you don't need it). this step also is disk intensive, you have to read in 2xfloat32 at 40msps and write out 1xfloat32 at 40msps simultaneously. 3. just standard ld-decode procedures after that (with thanks to happycube for adding float32 support with .rf file extension) Here are the problems i am having: 1. i feel there is a driver issue, either USB3, storage, or Lime itself in ubuntu that causes the captures to drop significant samples, that is why the 1st stage is in windows. 2. i cannot get pothos flow to split the I/Q file, it seems to shift it 200khz to the positive, and even using an xlating filter, the output won't decode. 3. i can not get gnu radio companion in windows to read in a file that is over 2G, so i reboot to ubuntu for the rest (have to do that to decode anyways) 4. the pothoslfow limesdr source has more options, and works well with Limesdr. i could not get gnu radio companion limesdr source to work as well (it does work somewhat though). One thing here, is that pothosflow lets you choose "0" as the center frequency in the limesdr source, and the gnu radio companion won't, and you want that. A few notes: 1. the pothosflow limesdr source actually lets you select "complex int16" as the data type, and i was able to get "something" with that once, but it makes the rest of the process more intensive because in gnuradio you have to convert to float to do some of the processing. If i could figure out how to convert in pothos though, pothos is more flexible with the data types it can use for the blocks. 2. you might be able to get video with hackrf one, there are different stats for the lower range depending on where i look, one says 1mhz, the other 10mhz, but at 20mhz bandwidth and 8 bits, you are probably better off with the TV card method, which you can buy for $10 or less on ebay. 3. unfortunately, i am only proficient in Perl/Powershell/VB, as the portion of my career that involves coding was centered around resource management(powershell), database interaction (VB), and text + process manipulation (perl), [edit] And not python, which seems to be what all the SDR stuff is in, and ld-decode as well [/edit] 4. I feel i am close, probably missing something pretty simple. when it works (the LimeSDR capture), it actually works pretty well:
|
|
|
|
|
9954tony
|
Post subject: Re: (WIP) Laserdisc software image decoder from raw signal Posted: 14 Aug 2020, 03:49 |
Serious fan |
|
|
Joined: 12 Sep 2015, 05:57 Posts: 210 Location: United States Has thanked: 5 times Been thanked: 54 times
|
titan91 wrote: That's an awesome looking result! The colors are a little washed out compared to what i see on the screen, but that can be fixed later. titan91 wrote: I'm not fully understanding how the stream is split in GNU Radio. There's a block called "Split Complex". That's it. See my post, in this thread, page 23, from 24 Jul 20, 5:54pm (right above your post about the LD player). In that diagram, i was reading from the LimeSDR, doing DC removal, splitting complex, writing a file, and monitoring the waveforms, all in real time. Now i do 2 steps, first step, just lime straight to file, nothing else going on, you want all the samples. Next step, replace the "lime source" with "file source", and add in a "throttle" and "low pass filter". You only need the "real" portion of the signal for Ld-Decode. titan91 wrote: I think I understand that I and Q are combined to form the final signal in some fashion, and are separate channels if recorded as a WAV file in SDR#. I have no idea about that. Seriously, I don't know anything about SDR# , except that you can't use TV# to watch an LD via SDR (i tried). titan91 wrote: do you think I could do a capture using the CXADC kernel module and somehow convert the single bitstream file to use with SDR# and other software? GnuRadio companion / pothos flow have blocks that do "complex to float/short/int" and blocks that do "int/float/short to complex", so i would think so. I know i downloaded those other LD samples and ran them through gnuradio to compare the overall signal to my captures.
|
|
|
|
|
atsampson
|
Post subject: Re: (WIP) Laserdisc software image decoder from raw signal Posted: 24 Aug 2020, 16:14 |
Genuinely interested |
|
|
Joined: 08 Feb 2007, 17:24 Posts: 35 Location: Scotland Has thanked: 8 times Been thanked: 5 times
|
Quote: Is CXADC's 8 bit 35.8MSPS mode supported? it should be, sort of. You'll need to give the sample file the extension .u8 or .r8, and pass ld-decode the "-f 10fsc" option to tell it the sample rate. This works by using an ffmpeg filter to resample the input to 40 MHz, since this is a lot easier than re-tuning all of ld-decode's filters to operate at a different sample rate. (I was responsible for this horrible hack so please don't blame happycube if it doesn't work very well!) I'm not sure there's any particular advantage to using 10x fSC rather than 8x fSC sampling with cxadc - the limiting factor on quality is how noisy the card is. I got about a 6dB SNR improvement by using an external preamp (I used an AD829) to boost the RF signal from the player up to ~1.4V P-P and turning down the cxadc gain, but it's still at least 6dB noisier than a DDD capture.
|
|
|
|
|
9954tony
|
Post subject: Re: (WIP) Laserdisc software image decoder from raw signal Posted: 24 Aug 2020, 18:16 |
Serious fan |
|
|
Joined: 12 Sep 2015, 05:57 Posts: 210 Location: United States Has thanked: 5 times Been thanked: 54 times
|
@atsampson what is the expected S/N ratio with DDD? I achieved a peak of 43db (according to ld-analyse) at one point with the LimeSDR, with an uncalibrated player.
Earlier, a few pages back, Titan91 linked to some old 28msps and 32msps samples. I downloaded those, and was not able to decode them using the "-f" parameter to resample them to their respective rates. It was my understanding that it "should" work, but it didn't. Maybe i didn't do it right?
Because i was interesting in learning about GNU Radio and sampling rates and RF, i created a GNU Radio flow graph that resampled them to 40msps, and then i *could* decode them. For an 8bit 35.8msps sampe, that flow graph would look like this:
[File Source] --> [char to float] --> [Rational Resampler] --> [float to char] --> [file sink]
The [Rational Resampler] only works with float or complex, that is why you need the type conversions. The [Rational Resampler] settings would be: "Float->Float (real taps)" interpolation = 200 decimation = 179
(this worked for me, but i can't promise anything)
|
|
|
|
|
|
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|