Effacer les filtres
Effacer les filtres

Generate a square pulse

6 vues (au cours des 30 derniers jours)
Ahmed Hassanen
Ahmed Hassanen le 3 Nov 2021
create exactly one square pulse with the specified parameters. This square pulse should be stored in the array called one_square. The dimensions of this array should be 1 x N_sq_pos. The length of the square pulse you generate should be equal to N_sq_pos, i.e., the variable one_square should not change dimensions after you generate the pulse. Keep in mind that you have to set the energy of the square pulse to be equal to E_bit.
Inputs:
% t_axis: Time axis
% T_sq_dur: Duration of the square pulse in seconds
% E_bit: Total energy in all samples of one square pulse
% fs: Sampling frequency
% x_bits: Sequence of input bits (if not available, then it is equal
% to 1)
% type: Type of bit coding, 'RZ' or 'NRZ' (default is 'RZ')
% Outputs:
% x_square: The sequence of samples corresponding to the pulse shaping
% of the input bits using a square pulse shape
Output like this :
  1 commentaire
Ahmed Hassanen
Ahmed Hassanen le 3 Nov 2021
Modifié(e) : Ahmed Hassanen le 3 Nov 2021
Fixed Parameter:
fs = 1e5; % Sampling rate (samples per sec)
Ts = 1/fs; % Sampling time
N = 102400 - 1; % Total number of samples
t_axis = (0:N-1)*Ts; % Time axis (the same during the entire experiment)
f_axis = -fs/2:fs/N:fs/2-1/N; % Frequency axis (the same during the entire experiment)
T_sq = 100*Ts; % The duration of the square pulse (an integer number of sampling times)

Connectez-vous pour commenter.

Réponses (1)

Abhinaya Kennedy
Abhinaya Kennedy le 12 Juin 2024
Generating the Pulse:
  1. Create a time axis "(t_axis)" from "0" to "T_sq_dur" with samples based on "fs".
  2. Calculate pulse amplitude (A) using "A = sqrt(E_bit / T_sq_dur)".
  3. Generate a binary sequence "(x_square)" with "x_bits" for the pulse duration (considering RZ transitions if applicable).
  4. Scale the sequence by A to get the final pulse with the required energy level.\
Array Dimensions:
The pulse ("one_square") should be a 1 x N_sq_pos array, where N_sq_pos is the number of samples based on "fs". This ensures the array maintains its size after generation.
By following these steps, you can create a square pulse and store it in the "one_square" array for further use.

Catégories

En savoir plus sur Mathematics 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!

Translated by