Giter Club home page Giter Club logo

usrp-tv's Introduction

USRP-TV - Using the USRP N200 as a composite video output NTSC signal generator.

It turns out that the USRP N200 with the LFTX card configured to a centerr
frequency of 0Hz (DC) is just a 30MHz 14-bit DAC with a stereo output sample
rate of 25Ms/s. This is really awesome.

Copyright(c) 2012 by Christopher Abad

EMAIL: [email protected] [email protected]

AIM: ambientempire

IRC: aempirei on irc.freenode.net

http://www.facebook.com/aempirei

https://github.com/aempirei

http://www.twentygoto10.com/

http://blog.twentygoto10.com/

http://www.the-mathclub.net/

http://www.256.bz/

Here's a little information about the NTSC signal. This was the typical TV
signaling format until digital TV became popular as of the last decade. All TVs
support NTSC composite signaling still but it is definitely considered inferior
if not obsolete. I will describe it here.

NTSC is an interlaced video therefore only half of the screen by alternating
lines is updated each scan. The screen is broken up into 525 even and odd
scanlines producing odd and even fields. An additional oddity is that 525 is not
evenly divisible by 2. Whoever designed this must have been retarded. What ends
up being done is that the last scanline is handled specially.

262.5 scanlines, representing one field, are updated per rescan, and various
schemes have been used to deal with this. The three most typical are as follows.

The half-speed half-resolution mode is that the vertical resolution and field
rate are both effectively cut in half and the same 262.5 scanline image is drawn
twice and is used for both odd and even fields.

The half-speed full-resolution mode is that a single 525 scanline image is
broken up into two fields, with half of the image drawn on the odd field and
then the other half drawn on the even field.

The full-speed mode is that a 525 scanline image is generated and half of the
scanlines of the image are selected. Depending on if the field is odd or even,
the corresponding odd or even scanlines of the image are selected.

Now for the format of the actual frames:

525 scanlines - complete frame

   262.5 scanlines - odd field
   262.5 scanlines - even field

   odd field

      9 scanlines - VSYNC
      240 scanlines - Field Image
      0.5 scanline - Junk (0.3V)
      13 scanlines - VBLANK Back Porch

   even field

      9 scanlines - VSYNC
      0.5 scanlines - Junk (0.3V)
      240 scanlines - Field Image
      13 scanlines - VBLANK Back Porch

VSYNC consists of 9 scanlines in 3 sections

   3 scanlines - pre-equalzation
   3 scanlines - serration
   3 scanlines - post-equalization

   pre-equalization is 3 scanlines for the following signal:

      # 6 X ( [ 29.25us @ Vblk ][ 2.5us @ 0V ] )

      1) [ 29.25us @ Vblk ][ 2.5us @ 0V ][ 29.25us @ Vblk ][ 2.5us @ 0V ]
      2) [ 29.25us @ Vblk ][ 2.5us @ 0V ][ 29.25us @ Vblk ][ 2.5us @ 0V ]
      3) [ 29.25us @ Vblk ][ 2.5us @ 0V ][ 29.25us @ Vblk ][ 2.5us @ 0V ]

   serration is 3 scanlines for the following signal:

		# 6 X ( [ 27us @ 0V ][ 4.75us @ Vblk ] )

		1) [ 27us @ 0V ][ 4.75us @ Vblk ][ 27us @ 0V ][ 4.75us @ Vblk ] 
		2) [ 27us @ 0V ][ 4.75us @ Vblk ][ 27us @ 0V ][ 4.75us @ Vblk ] 
		3) [ 27us @ 0V ][ 4.75us @ Vblk ][ 27us @ 0V ][ 4.75us @ Vblk ] 

   post-equalization is 3 scanlines for the following signal:

      # 6 X ( [ 29.25us @ Vblk ][ 2.5us @ 0V ] )

      1) [ 29.25us @ Vblk ][ 2.5us @ 0V ][ 29.25us @ Vblk ][ 2.5us @ 0V ]
      2) [ 29.25us @ Vblk ][ 2.5us @ 0V ][ 29.25us @ Vblk ][ 2.5us @ 0V ]
      3) [ 29.25us @ Vblk ][ 2.5us @ 0V ][ 29.25us @ Vblk ][ 2.5us @ 0V ]

240 scanlines - field data

	11us - HSYNC
	
		1.5us @ Vblk - HSYNC Front Porch
		4.75us @ 0V - Sync Tip
		0.5us @ Vblk - Breezeway
		2.75us @ Vblk - Color Burst
		1.5us @ Vblk - Back Porch

	# [ 11us @ HSYNC ] := [ 1.5us @ Vblk ][ 4.75us @ 0V ][ 0.5us @ Vblk ][ 2.75us @ Vblk ][ 1.5us @ Vblk ]

   # 240 X [ 11us @ HSYNC ][ 52.5us @ f(t)V ]

13 scanlines - VBLANK Back Porch

	# 13 X [ 11us @ HSYNC ][ 52.5us @ Vblk ]

usrp-tv's People

Contributors

aempirei avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.