matlab code to convert continuous signal into its discrete form

Réponses (3)

If you want to plot a discrete signal
x=1:10
y=sin(x)
stem(x,y)

4 commentaires

i dont want to plot but i want to convert the continuous signal into discrete so that i can use the output for further calculation...
Azzi Abdelmalek
Azzi Abdelmalek le 12 Fév 2013
Modifié(e) : Azzi Abdelmalek le 12 Fév 2013
What do you mean by continuous signal? give an example of a continuous signal. In your computer, both continuous and discrete signals are in a discrete form!
i know..all the signals that we process in matlab are somewhat discrete in form..but i want a discrete form of continuous signal(lets say)..In other words, i want a signal as output whose sample difference is 1 unit (integer)
Azzi Abdelmalek
Azzi Abdelmalek le 12 Fév 2013
Modifié(e) : Azzi Abdelmalek le 12 Fév 2013
You said: "i want a signal as output whose sample difference is 1 unit"
My question is, you want an output from what? Give an example. Or do you want to create a discrete signal?

Connectez-vous pour commenter.

Azzi Abdelmalek
Azzi Abdelmalek le 12 Fév 2013
Modifié(e) : Azzi Abdelmalek le 12 Fév 2013
Maybe you want quantizing
% your original signal
t=0:0.1:10
y=2*sin(t)
plot(y,'r')
% Quantizing
q=1 % quantization interval
yd=round(y/q)*q
hold on
plot(yd,'b')

4 commentaires

hi .. i have the same question i want to do sampling at 50 Hz .how can i do ??
num = xlsread('HASC24278-acc.csv');
timestamps = num(:,1);
signals = num(:,2:end);
first_time = timestamps(1);
last_time = timestamps(end);
Fs = 50;
period = datenum([0 0 0 0 0 1/Fs]);
probe_times = first_time : period : last_time;
resampled_data = interp1(timestamps, signals, probe_times);
1.3608 1.3608 1.3608 1.3608 1.3608 1.3608 1.3608
Columns 7367746 through 7367752
1.3608 1.3608 1.3608 1.3608 1.3608 1.3608 1.3608
Columns 7367753 through 7367759
1.3608 1.3608 1.3608 1.3608 1.3608 1.3608 1.3608
Columns 7367760 through 7367766
its stuck :(.. not working with me .
num = csvread('HASC24278-acc.csv');
timestamps = datetime( num(:,1), 'convertfrom', 'posixtime');
signals = num(:,2:end);
first_time = timestamps(1);
last_time = timestamps(end);
Fs = 50;
period = seconds(1/Fs);
probe_times = first_time : period : last_time;
resampled_data = interp1(timestamps, signals, probe_times);
However, this will fail because you have duplicate timestamps at line 1222 and 1223:
1360805282.336 -0.20259 -0.797522 0.41063
1360805282.336 -0.201619 -0.701036 0.350918

Connectez-vous pour commenter.

peter dalton
peter dalton le 18 Mai 2016
i also have a same problem . actually i have a plot of (E,N_E), both are the matrices of of different dimensions, since i am developing a user interface so everytime these dimensions will get change. if i want to plot (dN_E/dE,E), how do i plot this?

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by