[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] NTSC Demo
From: |
Martin Dvh |
Subject: |
Re: [Discuss-gnuradio] NTSC Demo |
Date: |
Fri, 17 Jun 2005 04:07:16 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5b) Gecko/20030823 |
Hi,
I am trying to understand the matlab code right now.
(I hardly ever use matlab so I don't now the syntax, most of the time if I want
to do some math I just program it in C++)
If I understand it well you do the following to get rid of the audio_carrier:
interpolate 2x to avoid aliasing
downconvert audio-carrier to zero
highpass to get rid of audio-carrier
downconvert video-carrier to zero
get absolute value(get envelope)
decimate 2x
The above steps can be done in gnuradio with the components which are already
there
interpolator
freq_translating_fir_filter (which you feed high_pass fir filter taps)
multiplication (or another freq_translating_fir_filter with low_pass filter
taps, this way you get a band_filter)
abs
decimator
I think you could also just use a fir notch filter to get rid of the
audio-carrier in one step.
I need to study matlab more to understand the correlators you are using.
I also think that using a PLL for the downconversion of video and a PLL for the
color subcarrier is indeed essential for correct working.
I think there are already some pll implementations in gnuradio_blocks (HDTV)
floating around.
I just tried to think of my own gnuradio pll implementation and my idea is the
following (in pseudocode):
pll:
src_c=input_c
osc_c=sig_source_c(freq,sinus,ampl,phaseoffset)
lowpass1settings:
can be hight cutoff and width transfer, maybe even leave away completely
lowpass2settings:
should be quite low cutoff, transferwidth ??
probably use IIR here.
this filter and gainfactor2 determine the loop stability and phasenoise
But also the lock-in range
loop:
/*the congruent is not really needed because the loop will adjust it away)
/*otherwise we can just use -freq */
prod_c=mult(src,congruent(osc))
envelope_method1_f=lowpass1(abs(prod_c),lowpass1settings)
/*less accurate envelope_method2_f=lowpass2(realpart(prod_c),lowpass2settings)*/
phasediff_f=abs(lowpass(imagepart(prod_c))
freq+=phasediff*gainfactor2
/*or is it -= */
The loop would continuously adjust the downconversion frequency and output the
video baseband envelope signal.
(Notice this is all pseudocode)
greetings,
Martin
- [Discuss-gnuradio] NTSC Demo, Prateek Dayal, 2005/06/09
- Re: [Discuss-gnuradio] NTSC Demo, Matt Chapman, 2005/06/10
- Re: [Discuss-gnuradio] NTSC Demo, Prateek Dayal, 2005/06/10
- Re: [Discuss-gnuradio] NTSC Demo, Martin Dvh, 2005/06/13
- Re: [Discuss-gnuradio] NTSC Demo, Prateek Dayal, 2005/06/13
- Re: [Discuss-gnuradio] NTSC Demo, Prateek Dayal, 2005/06/13
- Re: [Discuss-gnuradio] NTSC Demo,
Martin Dvh <=
- Re: [Discuss-gnuradio] NTSC Demo, Prateek Dayal, 2005/06/17
- Re: [Discuss-gnuradio] NTSC Demo, Ramakrishnan Muthukrishnan, 2005/06/17
- Re: [Discuss-gnuradio] NTSC Demo, Thom Rainwater, 2005/06/20
- Re: [Discuss-gnuradio] NTSC Demo, mgray, 2005/06/20
- Re: [Discuss-gnuradio] NTSC Demo, Prateek Dayal, 2005/06/21
- Re: [Discuss-gnuradio] NTSC Demo, mgray, 2005/06/21
- Re: [Discuss-gnuradio] NTSC Demo, Stephane Fillod, 2005/06/21
- Re: [Discuss-gnuradio] NTSC Demo, Prateek Dayal, 2005/06/22
- Re: [Discuss-gnuradio] NTSC Demo, Ramakrishnan Muthukrishnan, 2005/06/22
Re: [Discuss-gnuradio] NTSC Demo, n4hy, 2005/06/20