Shifting signals to the right
17 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Curious Mind
le 18 Juin 2020
Réponse apportée : Rutuja
le 4 Déc 2024
Hi, I have a matrix, M which is 10*2000 double (10 rows of signals and each signal contains 2000 variables). I want to shift each of the signal in this matrix to the right by say 1. I have a code (below) that can shift a single signal (that is if M contains a single signal, 1*2000). How do I modify this to shift each signal in M at the same time?
The code code for shifting a single signal is:
p = M;
Shift = 1;
Shifted_M = circshift(p,Shift);
In summary, I want a code that can shift each independent row signal in a matrix and output the shifted matrix as Shifted_M. After that I would like to plot this shifted matrix with the original data to visualize it.
Thanks
1 commentaire
Tanveer ul haq
le 18 Juin 2020
% consider your matrix is M then:
M=[1 2 3; 4 5 6; 7 8 9];
Shift = 1;
Shifted_M = circshift(M',Shift);
rotated_matrix = Shifted_M'
Réponse acceptée
Adam Danz
le 18 Juin 2020
If you'd like to circularly shift the data "A" by "K" positions along the "dim" dimension,
So, you'll need to specify the dimension.
10 commentaires
Adam Danz
le 19 Juin 2020
Ah, good! Sometimes describing the problem is more difficult than finding the solution. Glad it all worked out!
Plus de réponses (1)
Rutuja
le 4 Déc 2024
clc;
clear;
close all;
Fs = 1000;
t = -0.02:1/Fs:0.02;
fc = 100;
modulation_index = 1;
M=[1 2 3; 4 5 6; 7 8 9];
Shift = 1;
Shifted_M = circshift(M',Shift);
rotated_matrix = Shifted_M'
m_t = [t ./ (1 + t.^2)];
c_t = cos(2 * pi * fc * t);
am_signal = (1 + modulation_index * m_t) .* c_t;
subplot(3, 1, 1);
plot(t, m_t);
title('Message Signal');
xlabel('Time (s)');
ylabel('Amplitude');
subplot(3, 1, 2);
plot(t, c_t);
title('Carrier Signal');
xlabel('Time (s)');
ylabel('Amplitude');
subplot(3, 1, 3);
plot(t, am_signal);
title('Amplitude Modulated Signal (100% Modulation Index)');
xlabel('Time (s)');
ylabel('Amplitude');
shift the signal for 5 units
0 commentaires
Voir également
Catégories
En savoir plus sur Multirate Signal Processing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!