Shifting signals to the right
19 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Tanveer ul haq
2020 年 6 月 18 日
% 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'
採用された回答
Adam Danz
2020 年 6 月 18 日
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 件のコメント
Adam Danz
2020 年 6 月 19 日
Ah, good! Sometimes describing the problem is more difficult than finding the solution. Glad it all worked out!
その他の回答 (1 件)
Rutuja
2024 年 12 月 4 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Multirate Signal Processing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!