Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

SIMULINK: sampling of a continuous signal, encoding, decoding and interpolation the data

Status
Not open for further replies.

barttravel

Electrical
May 6, 2015
5
Dear Simulink people. Im not much of a programmer and depended up on tools like simulink. Here is my question. I'm interested in data compression. I would like to:

Step 1: Sample a continuous time signal (microphone or generated polynomial function) with a certain samplerate to a set discrete data points.

Step2: Manipulate these datapoint in some way and take out points who are not interesting. And allocate points who are.

Step3: Interpolate or function approximate the strategic chosen data points.

My aim is to sample a function at a high frequency rate. Take out strategic data points. (compression) and interpolate the function to it looks similar to the original signal.

- Can this be done in only simulink, without programming in matlab? - What blocks do i need.

I have started with a sine genrator, a quantifier, and encoder. But i really dont know what all blocks to. Ill be happy to read you responses.

Best regards, Bart
 
Replies continue below

Recommended for you

You say "manipulate the (continuous time) signal and take out uninteresting points", but do you understand what that means? How do you remove "uninteresting points" and still have a valid dataset (other than a time compressed version)? You can't then add those points back in because you can't calculate what they originally were to any more than a first degree. If the removal of the datapoints is repeatable, you are doing no more than decimating the signal. That's not compression (unless by "compression" you mean time-compressed, but it feels like you mean "remove unnecessary information").

You need to be more clear as to your intentions...

Dan - Owner
Footwell%20Animation%20Tiny.gif
 
To answer your basic question, yes you can do all that in simulink as it is turing complete. But just because you can do something doesn't mean it will be easy - simulink is designed to work with little bits of matlab for number crunching.

Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376
 
Ok ill rephrase : "remove unnecessary information"
My idea is:
- to equidistant sample a continues signal with a high sample rate. (let say i'm sampling a 0,001 sec audio signal with 48000 Hz)
- plot points in an array(matrix).
- think up an algorithm for picking out stategic values that. top (x,y) bottom (x,y) and points around the parabola's
- with those non equidistant (x,y) values or coordinates i want to spline interpolate multiple 2nd 3rd 4th ...degree polynomials to construct back the original signal.

but as i read, this looks like an impossible job to do in SIMULINK.
or not?
 
A very quick search suggests that Simulink doesn't have a built in curve fitting block. It wouldn't take long to write a new block that does a curve fit, but it would involve programming in Matlab. I don't think your basic idea would be much use for sound signals, but assuming that it does fulfill some need I'd have thought there were many better tools than Simulink to do it, even Excel!



Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376
 
no curve fitting blocks? are you sure? i think it does.
roughly polynomial fitting over x,y values for me is the same as curve fitting.
so what about lookup tabels?
 
Well great, what is this polynomial fitting block called? I don't know how you'd use a lookup table in context.

Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376
 
what about the DSP toolbox? i dont know. i hoped to find pragmatic answers. not even on the official matlab simulink forum comes a answers. anyway thanks. topic can be closed.
 
If you're working with the time-based signal, this still sounds like basic decimation to me. Remove every 10th data point, then add it back in via curve-fitting during reconstruction. No one point is more "interesting" than another. If you're trying to remove slow-moving signals that aren't "interesting", it's called a low-pass filter, and so on and so on.

I can't tell if you don't understand the actual process or if you're simply not using the correct terminology for what you want accomplished...

Dan - Owner
Footwell%20Animation%20Tiny.gif
 
Your statement " to equidistant sample a continues signal with a high sample rate. (let say i'm sampling a 0,001 sec audio signal with 48000 Hz)" is not particularly encouraging. Since the nominal audio range extends to 20 kHz, 48 kHz is barely above Nyquist. Moreover, 1 ms segment sampled at 48 kHz is only about 50 samples to start with, which is not enough to do anything at all, processing wise.

TTFN
faq731-376
7ofakss

Need help writing a question or understanding a reply? forum1529


Of course I can. I can do anything. I can do absolutely anything. I'm an expert!
There is a homework forum hosted by engineering.com:
 
Ok thanks everybody. I cant explain it better then this. My question was simple. Can you do what im asking with simulink. I guess not but maybe a simulink course would help me better.
 
Yes, it is possible, but simulink is not the ideal environment in which to do it without programming because many of the blocks you will need will have to be constructed by joining many other simulink blocks together. If you are prepared to do some programming then the bits that simulink make easy are easy anyway, however you do it.



Cheers

Greg Locock


New here? Try reading these, they might help FAQ731-376
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor