how to capture digital T.V signal

Hi !

i want to capturing all digital T.V signals at the same time and then doing some signal processing works with Matlab on them !

i am a software engineer and i don't know any thing about hardware! any one know what should i do ?

i mean for example we have 10 channels and i want to capture all these 10 channel signals and then using these signals as an input for an Matlab code and doing some signal processing on them.

thanks

Hi mafia_ir,

Iassumewhat you are trying to do is to capture the digital signals, write them to a file that can be accessed by matlab.

I'm afraid a mere Arduino won't have enough horsepower this task.

Have you considered using an FPGA and writing some VHDL code?

Pat.

Not only will an arduino not be able to do this, but I believe that a digital tv tuner will not be able to capture " all digital T.V signals at the same time". Not even close. The amount of data you are talking about here is rather a lot and you will need some serious power for matlab to be able to even load the data, let alone process it.

According to wikipedia

Each commercial broadcasting terrestrial television DTV channel in North America is permitted to be broadcast at a bit rate up to 19 megabits per second.

How many channels were you thinking of capturing "at the same time"? A dozen? That's a quarter of a gigabit per second. To think that a single-threaded 16Mhz processor could deal with this is to have a seriously wrong idea about the scale of what you are asking. You might as well be asking for a car jack that can move a railway bridge.

What are you actually trying to do?

You know 10 channels are on 10 different frequencies? You will need 10 tuners to bring in those different frequencies.

Then, since it's digital TV, each channel has separate sub-channels or streams. (They have different names in each country's TV system and the broadcasters themselves may use different names too.) A regular PVR is able to split out those streams and save them as an MP4 file. Usually it can only save one or two because there's so much data.

There's other information alongside the streams, such as the onscreen program guide. I never heard of anyone recording that.

So 20-40 PVR boxes should do the trick for you, for the video at least.

thanks for replays

no they are not a lot of frequencies as i saw in the TV frequency table (in Iran)! some of them are in 618 and others are in 666.

i don't want to get channel 1 through x and then process them in my laptop!
there are so many devices here and each of them working in just one channel (for example, one of them running a learning algorithms that works with picture, so this machine just get the signals of channel 1 and then extract the frame, learn, and extract next frame, other one need voice to learn, one of them try to read adverst subtitles and so on...), some of them can not have a tv tuner card.

so something that i wanna do is to capture these signals then split them into what those devices wants, after that sending digitalized signals to those devise... they will work on each channel signal separately ...

so here is me, capturing [618, 666 + x] with one capture device, than separating them into channels separately, and then sending them on network for other devices...

:aquarius:︎:aquarius:︎:aquarius:︎:aquarius:︎ (analog signals) :aquarius:︎:aquarius:︎:aquarius:︎:aquarius:︎... <-> (antenna) .... [capturing]....[ simulate 10 tuners and splitting it into 10 digital signals] ... broadcast it through network for other devices ...

MorganS:
You know 10 channels are on 10 different frequencies?

Not for digital TV, necessarily - a single frequency (multiplex) can carry multiple channels

sorry if my question is really simple...
but can any one help me and explain how can i attach an antenna to an FPGA ?
thanks

Actually, it's not simple -- it's really, really hard.

You probably won't find the answers you're looking for in an Arduino forum.

What do you really want to capture ? Resulting, decoded images and sound and subtitle or the raw flow of digital data?

If this is the decoded data, you could look at the products from Eyetv Geniatech or less integrated
(Old) DVB-T Receiver Reference Design with the | Maxim Integrated or chips such as DVB-T Silicon Tuner IC | NXP Semiconductors and similar such as Broadcom’s BCM7563 and the likes supporting diversity

If not and if you have funding, you could ask specializedcompanies on a custom work that their hardware handles to receive a channel before decoding...

If you want to do it yourself - you probably have quite a steep learning curve ahead of you

AWOL:
Not for digital TV, necessarily - a single frequency (multiplex) can carry multiple channels

It depends on the TV system and the broadcasters. There are still channels. The digital signals occupy (mostly) the same space on the spectrum that the old channels used. Channels 1-12 are in the VHF band and 14-69 are UHF.

The sub-channels, streams or whatever they call it where you are, do fit within that original channel and only require one RF tuner to receive the whole set. For example, the old channel 6 which now might actually be transmitting from a repeater on the UHF 19 channel will probably be sending "6" as an SD stream, "601" as an HD stream plus others. Most of the systems I know can get about 5 streams into one channel, depending on the mix of quality and compression ratios chosen by the broadcaster.

patduino:
Actually, it's not simple -- it's really, really hard.

You probably won't find the answers you're looking for in an Arduino forum.

can you suggest me any book that i should read to achieve this goal ?
i don't need any miscellaneous information, i will find any thing i need from those books...

J-M-L:
If you want to do it yourself - you probably have quite a steep learning curve ahead of you

that is exactly what i want to do, because i don't have funding, and in Iran i can not buy those hardwere that you suggested to me...

An arduino can't do what you want - you need much faster dedicated CPU and storage system

You also need to think about what you want to achieve - pass the raw signal data or the images

You are mentioning other specialized units - what input do they take?

J-M-L:
You also need to think about what you want to achieve - pass the raw signal data or the images

raw signal data

J-M-L:
You are mentioning other specialized units - what input do they take?

not matter! they can work with both! but signal is preferred.

You can't do that with an arduino - not fast enough.

You need a real computer (possibly multiple ones) to sustain the data flow to read and store or playback tens of megabit per seconds.

And you need dedicated hardware to tune to the right frequency

I'm surprised you say you can't buy those components in your country - what do you think is embedded in the decoders attached to televisions?

J-M-L:
You can't do that with an arduino - not fast enough.

i don't want to do it with any special hardware ! this forum is the nearest forum related to this topic i found...
delay is not matter, if i be able to read signals with my own computer, any idea is welcome!
there are some kind of data logger, but they are so expensive for an student like me ( they are the last choice )

J-M-L:
I'm surprised you say you can't buy those components in your country

if i want to order something i need to know what exactly i need, something like datasheet (map of the electrical circuit) or something, because any wrong order can be expensive !

J-M-L:
what do you think is embedded in the decoders attached to televisions?

hmmmm
analog signal -> antena -> Amplifier ( i think ) -> band-pass filter -> digitizer

in this case band-pass filter must pass more frequency range...

Well this is not the right forum for this as focus is clearly Arduino here

Would suggest you start reading some PH.D. Thesis that are a available on the web - some are pretty old but a good read because they were written before the industry took off and designed custom chips as I mentioned in my previous post.

Today it's just not economically viable to do anything else than mass market mass volume custom chips for this.

An example doc

You can see the author was looking at a DSP + FPGA board

Did you know digital TV needs ~ 4.7GB of storage for either a 1/2 hour or 1 hour TV show? That's 1.3 billion bytes per second if I did the math right. Need some serious processing power for that.
Check this digital TV recorder - 500GB and 1 Terabyte hard drive. And I'm pretty sure it only records 1 or 2 channels as that is all the TV decodes at 1 time:
"*Recording function is undertaken by the TV, not the My Passport AV-TV. Refer to the TV's operating manual for recording options."

mafia_ir:
can you suggest me any book that i should read to achieve this goal ?
i don't need any miscellaneous information, i will find any thing i need from those books...

The underlying basic theory:
Antenna design

I don't know your mathematical background, so you might need this intro first

Turning it into practice

and a general DSP book

something more specific

The other stuff you can probably pick up on your own. Have fun.

cedarlakeinstruments:
The underlying basic theory:
Antenna design
....

J-M-L:
Well this is not the right forum for this as focus is clearly Arduino here....

CrossRoads:
Did you know digital TV needs ~ 4.7GB of storage for either a 1/2 hour....

i spoke with some of my friends and my university professor, all of them told me that it is hard (nearly impossible) to do something like this.
and if it is too hard, maybe i should do something else... : )

thanks for all your attentions

As I said...

it's really, really hard.

Tell them they're right :wink:

But I really enjoyed the thread, though!