Month: July 2024
where did the names go in outlook contact lists?
I am force to use the old outlook in order to send an email to my contact list. So I repopulated the contact list due to a meltdown and now I see that only the email address shows–no names in the contact list. What am I doing wrong?
I am force to use the old outlook in order to send an email to my contact list. So I repopulated the contact list due to a meltdown and now I see that only the email address shows–no names in the contact list. What am I doing wrong? Read More
Know if Serialport is connected (in App Designer program); ishandle() always true
I open a serial port to my Arduino and it usually works. I’m trying to take care of various errors, for one of which I need to know if the port handle is there and connected or not. In Command window I can tell when ishandle(MyCom) returns a logical answer
ishandle(app.PicoCom)
ans =
0×0 empty logical array
But programatically determining if it’s there, say with
ishandle(app.PicoCom) == false
ans =
0×0 empty logical array
Doesn’t work, it’s always true. How do I ask a false logical array if it’s false and why does this have to be so hard? Does anybody really need an array response to ishandle(app.PicoCom)? if ~ishandle(app.PicoCom) should be enough.
I also tried if ~exist(…) and even isstr(app.PicoCom.Port) but they don’t work when it’s not a handle.
BTW, ishandle() is only described as for graphic objects and figures and the existing answer doesn’t answer my question
https://www.mathworks.com/matlabcentral/answers/13424-why-does-ishandle-0-return-1?s_tid=srchtitleI open a serial port to my Arduino and it usually works. I’m trying to take care of various errors, for one of which I need to know if the port handle is there and connected or not. In Command window I can tell when ishandle(MyCom) returns a logical answer
ishandle(app.PicoCom)
ans =
0×0 empty logical array
But programatically determining if it’s there, say with
ishandle(app.PicoCom) == false
ans =
0×0 empty logical array
Doesn’t work, it’s always true. How do I ask a false logical array if it’s false and why does this have to be so hard? Does anybody really need an array response to ishandle(app.PicoCom)? if ~ishandle(app.PicoCom) should be enough.
I also tried if ~exist(…) and even isstr(app.PicoCom.Port) but they don’t work when it’s not a handle.
BTW, ishandle() is only described as for graphic objects and figures and the existing answer doesn’t answer my question
https://www.mathworks.com/matlabcentral/answers/13424-why-does-ishandle-0-return-1?s_tid=srchtitle I open a serial port to my Arduino and it usually works. I’m trying to take care of various errors, for one of which I need to know if the port handle is there and connected or not. In Command window I can tell when ishandle(MyCom) returns a logical answer
ishandle(app.PicoCom)
ans =
0×0 empty logical array
But programatically determining if it’s there, say with
ishandle(app.PicoCom) == false
ans =
0×0 empty logical array
Doesn’t work, it’s always true. How do I ask a false logical array if it’s false and why does this have to be so hard? Does anybody really need an array response to ishandle(app.PicoCom)? if ~ishandle(app.PicoCom) should be enough.
I also tried if ~exist(…) and even isstr(app.PicoCom.Port) but they don’t work when it’s not a handle.
BTW, ishandle() is only described as for graphic objects and figures and the existing answer doesn’t answer my question
https://www.mathworks.com/matlabcentral/answers/13424-why-does-ishandle-0-return-1?s_tid=srchtitle ishandle is true when its false MATLAB Answers — New Questions
Wireless connection to PI4 Bullseye ad-hoc mode
We have sucessfully programmed our application to run python scripts on a Pi4 when it is connected to our network via the ethernet lan connection.
We need to go to the next phase where the comptuer connects wirelessly to the PI without a network present. Matlab indicated that this was possible when we reviewed the project during the software decision proesses.
We think we need to turn the PI into a server, however we are not finding a resource with a working link that actually accomplishes this task. Any guidance or direction to links that are known to work would be greatly appreciated.
Hardware Pi4B
PI OS – bullseye
Matlab 2024aWe have sucessfully programmed our application to run python scripts on a Pi4 when it is connected to our network via the ethernet lan connection.
We need to go to the next phase where the comptuer connects wirelessly to the PI without a network present. Matlab indicated that this was possible when we reviewed the project during the software decision proesses.
We think we need to turn the PI into a server, however we are not finding a resource with a working link that actually accomplishes this task. Any guidance or direction to links that are known to work would be greatly appreciated.
Hardware Pi4B
PI OS – bullseye
Matlab 2024a We have sucessfully programmed our application to run python scripts on a Pi4 when it is connected to our network via the ethernet lan connection.
We need to go to the next phase where the comptuer connects wirelessly to the PI without a network present. Matlab indicated that this was possible when we reviewed the project during the software decision proesses.
We think we need to turn the PI into a server, however we are not finding a resource with a working link that actually accomplishes this task. Any guidance or direction to links that are known to work would be greatly appreciated.
Hardware Pi4B
PI OS – bullseye
Matlab 2024a ad-hoc, pi4, bullseye MATLAB Answers — New Questions
Using Shortcuts in MATLAB
Hello Everyone , I am a VS Code user and new to MATLAB , I have many extensions in VS Code which makes my work easier and effortless
I feel that MATLAB is missing some of these features. for example , in VS Code, I frequently use Shift + Alt + Down Arrow or Up Arrow to duplicate lines, but I couldn’t find a similar command in the MATLAB documentation.
I also use several commands repetitively. Is there a way to create shortcuts for these commands in MATLAB? Additionally, I’d like to know if it’s possible to customize these shortcuts, as I am accustomed to different keybindings, and MATLAB’s default shortcuts are not quite what I’m used to.
I am using windows , Could someone please assist me with this?Hello Everyone , I am a VS Code user and new to MATLAB , I have many extensions in VS Code which makes my work easier and effortless
I feel that MATLAB is missing some of these features. for example , in VS Code, I frequently use Shift + Alt + Down Arrow or Up Arrow to duplicate lines, but I couldn’t find a similar command in the MATLAB documentation.
I also use several commands repetitively. Is there a way to create shortcuts for these commands in MATLAB? Additionally, I’d like to know if it’s possible to customize these shortcuts, as I am accustomed to different keybindings, and MATLAB’s default shortcuts are not quite what I’m used to.
I am using windows , Could someone please assist me with this? Hello Everyone , I am a VS Code user and new to MATLAB , I have many extensions in VS Code which makes my work easier and effortless
I feel that MATLAB is missing some of these features. for example , in VS Code, I frequently use Shift + Alt + Down Arrow or Up Arrow to duplicate lines, but I couldn’t find a similar command in the MATLAB documentation.
I also use several commands repetitively. Is there a way to create shortcuts for these commands in MATLAB? Additionally, I’d like to know if it’s possible to customize these shortcuts, as I am accustomed to different keybindings, and MATLAB’s default shortcuts are not quite what I’m used to.
I am using windows , Could someone please assist me with this? matlab, shortcuts MATLAB Answers — New Questions
Can Anyone help me to solve this error?Error using * Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To perform elementwise multiplication, use ‘.
here’s the full code
numAntennasTx = 256; % Number of antennasTx
numAntennasRx = 16; % Number of antennasRx
numBits = 10000000; % Number of random bits
ModulationOrder = 16; % 16QAM
snrValues = 0:5:40; % Range of SNR values
%% Generate Random Bits
bits = randi([0 1], numBits, 1);
%% Convolutional Encoding
trellis = poly2trellis(7, [171 133]); % Example trellis
codedBits = convenc(bits, trellis);
%% Modulation
mod_symbols = qammod(codedBits, ModulationOrder, ‘InputType’, ‘bit’, ‘UnitAveragePower’, true);
%% Ensure the number of symbols can be reshaped properly
numSymbols = length(mod_symbols);
paddingSymbols = mod(numAntennasTx – mod(numSymbols, numAntennasTx), numAntennasTx);
mod_symbols_padded = [mod_symbols; zeros(paddingSymbols, 1)];
%% Reshape modulated symbols to fit Tx antennas
mod_symbols_reshaped = reshape(mod_symbols_padded, numAntennasTx, []);
%% Precoding
H = (randn(numAntennasRx, numAntennasTx) + 1i * randn(numAntennasRx, numAntennasTx)) / sqrt(2*numAntennasRx); % Channel matrix
% Regularized Zero Forcing (RZF) Precoding
lambda = 0.01; % Regularization parameter
WRZF = (H’ / (H*H’ + lambda*eye(numAntennasRx)));
% Phased Zero Forcing (PZF) Precoding
angle_H = angle(H);
phase_shift = exp(-1i*angle_H);
H_pzf = H .* phase_shift;
WPZF = (H_pzf’ / (H_pzf*H_pzf’));
%% Apply Precoding
size(WRZF)
size(mod_symbols_reshaped)
precodedBitsRZF = WRZF * mod_symbols_reshaped; % precoding RZF
precodedBitsPZF = WPZF * mod_symbols_reshaped; % precoding PZF
%% Without Precoding
precodedBitsWP = mod_symbols_reshaped; % No precoding
%% OFDM Modulation with Precoding
OfdmSymbolsRZF = ifft(precodedBitsRZF, [], 2); % OFDM modulation with RZF precoding
OfdmSymbolsPZF = ifft(precodedBitsPZF, [], 2); % OFDM modulation with PZF precoding
OfdmSymbolsWP = ifft(precodedBitsWP, [], 2); % OFDM modulation without precoding
%% Channel AWGN
berRZF = zeros(1, length(snrValues)); % Initialize BER results for RZF
berPZF = zeros(1, length(snrValues)); % Initialize BER results for PZF
berWP = zeros(1, length(snrValues)); % Initialize BER results for no precoding
for i = 1:length(snrValues)
snr = snrValues(i);
noiseVar = 1 / (10^(snr/10));
% Transmit through channel (AWGN) for RZF
rxSymbolsRZF = awgn(H * OfdmSymbolsRZF, snr, ‘measured’) + sqrt(noiseVar/2) * (randn(size(OfdmSymbolsRZF)) + 1i * randn(size(OfdmSymbolsRZF)));
% Transmit through channel (AWGN) for PZF
rxSymbolsPZF = awgn(H * OfdmSymbolsPZF, snr, ‘measured’) + sqrt(noiseVar/2) * (randn(size(OfdmSymbolsPZF)) + 1i * randn(size(OfdmSymbolsPZF)));
% Transmit through channel (AWGN) without precoding
rxSymbolsWP = awgn(H * OfdmSymbolsWP, snr, ‘measured’) + sqrt(noiseVar/2) * (randn(size(OfdmSymbolsWP)) + 1i * randn(size(OfdmSymbolsWP)));
%% OFDM Demodulation
% Serial to Parallel Conversion
receivedSymbolsRZFSerial = reshape(rxSymbolsRZF, [], numAntennasRx).’; % Serial to parallel conversion
receivedSymbolsPZFSerial = reshape(rxSymbolsPZF, [], numAntennasRx).’; % Serial to parallel conversion
receivedSymbolsWPSerial = reshape(rxSymbolsWP, [], numAntennasRx).’; % Serial to parallel conversion
% Perform OFDM demodulation for RZF
rxSymbolsIFFTRZF = fft(receivedSymbolsRZFSerial, [], 2); % FFT
% Perform OFDM demodulation for PZF
rxSymbolsIFFTPZF = fft(receivedSymbolsPZFSerial, [], 2); % FFT
% Perform OFDM demodulation for no precoding
rxSymbolsIFFTWP = fft(receivedSymbolsWPSerial, [], 2); % FFT
%% Parallel to Serial Conversion
rxSymbolsDemod_RZF = reshape(rxSymbolsIFFTRZF.’, [], 1); % Parallel to serial conversion
rxSymbolsDemod_PZF = reshape(rxSymbolsIFFTPZF.’, [], 1); % Parallel to serial conversion
rxSymbolsDemod_WP = reshape(rxSymbolsIFFTWP.’, [], 1); % Parallel to serial conversion
% Remove the padded symbols before demodulation
rxSymbolsDemod_RZF = rxSymbolsDemod_RZF(1:end-paddingSymbols);
rxSymbolsDemod_PZF = rxSymbolsDemod_PZF(1:end-paddingSymbols);
rxSymbolsDemod_WP = rxSymbolsDemod_WP(1:end-paddingSymbols);
% QAM demodulation
demodBitsRZF = qamdemod(rxSymbolsDemod_RZF, ModulationOrder, ‘OutputType’, ‘bit’, ‘UnitAveragePower’, true);
demodBitsPZF = qamdemod(rxSymbolsDemod_PZF, ModulationOrder, ‘OutputType’, ‘bit’, ‘UnitAveragePower’, true);
demodBitsWP = qamdemod(rxSymbolsDemod_WP, ModulationOrder, ‘OutputType’, ‘bit’, ‘UnitAveragePower’, true);
% Calculate the Bit Error Rate (BER)
berRZF(i) = sum(demodBitsRZF ~= codedBits(1:end-paddingSymbols)) / numBits;
berPZF(i) = sum(demodBitsPZF ~= codedBits(1:end-paddingSymbols)) / numBits;
berWP(i) = sum(demodBitsWP ~= codedBits(1:end-paddingSymbols)) / numBits;
end
%% Display Results
fprintf(‘Bit Error Rate (RZF Precoding):n’);
disp(berRZF);
fprintf(‘Bit Error Rate (PZF Precoding):n’);
disp(berPZF);
fprintf(‘Bit Error Rate (Without Precoding):n’);
disp(berWP);
%% Plotting the results
figure;
semilogy(snrValues, berRZF, ‘bs-‘, ‘LineWidth’, 2);
hold on;
semilogy(snrValues, berPZF, ‘gs-‘, ‘LineWidth’, 2);
semilogy(snrValues, berWP, ‘rs-‘, ‘LineWidth’, 2);
xlabel(‘SNR (dB)’);
ylabel(‘Bit Error Rate (BER)’);
legend(‘RZF Precoding’, ‘PZF Precoding’, ‘Without Precoding’);
title(‘Massive MIMO 256×16 Antennas with RZF and PZF Precoding’);
grid on;here’s the full code
numAntennasTx = 256; % Number of antennasTx
numAntennasRx = 16; % Number of antennasRx
numBits = 10000000; % Number of random bits
ModulationOrder = 16; % 16QAM
snrValues = 0:5:40; % Range of SNR values
%% Generate Random Bits
bits = randi([0 1], numBits, 1);
%% Convolutional Encoding
trellis = poly2trellis(7, [171 133]); % Example trellis
codedBits = convenc(bits, trellis);
%% Modulation
mod_symbols = qammod(codedBits, ModulationOrder, ‘InputType’, ‘bit’, ‘UnitAveragePower’, true);
%% Ensure the number of symbols can be reshaped properly
numSymbols = length(mod_symbols);
paddingSymbols = mod(numAntennasTx – mod(numSymbols, numAntennasTx), numAntennasTx);
mod_symbols_padded = [mod_symbols; zeros(paddingSymbols, 1)];
%% Reshape modulated symbols to fit Tx antennas
mod_symbols_reshaped = reshape(mod_symbols_padded, numAntennasTx, []);
%% Precoding
H = (randn(numAntennasRx, numAntennasTx) + 1i * randn(numAntennasRx, numAntennasTx)) / sqrt(2*numAntennasRx); % Channel matrix
% Regularized Zero Forcing (RZF) Precoding
lambda = 0.01; % Regularization parameter
WRZF = (H’ / (H*H’ + lambda*eye(numAntennasRx)));
% Phased Zero Forcing (PZF) Precoding
angle_H = angle(H);
phase_shift = exp(-1i*angle_H);
H_pzf = H .* phase_shift;
WPZF = (H_pzf’ / (H_pzf*H_pzf’));
%% Apply Precoding
size(WRZF)
size(mod_symbols_reshaped)
precodedBitsRZF = WRZF * mod_symbols_reshaped; % precoding RZF
precodedBitsPZF = WPZF * mod_symbols_reshaped; % precoding PZF
%% Without Precoding
precodedBitsWP = mod_symbols_reshaped; % No precoding
%% OFDM Modulation with Precoding
OfdmSymbolsRZF = ifft(precodedBitsRZF, [], 2); % OFDM modulation with RZF precoding
OfdmSymbolsPZF = ifft(precodedBitsPZF, [], 2); % OFDM modulation with PZF precoding
OfdmSymbolsWP = ifft(precodedBitsWP, [], 2); % OFDM modulation without precoding
%% Channel AWGN
berRZF = zeros(1, length(snrValues)); % Initialize BER results for RZF
berPZF = zeros(1, length(snrValues)); % Initialize BER results for PZF
berWP = zeros(1, length(snrValues)); % Initialize BER results for no precoding
for i = 1:length(snrValues)
snr = snrValues(i);
noiseVar = 1 / (10^(snr/10));
% Transmit through channel (AWGN) for RZF
rxSymbolsRZF = awgn(H * OfdmSymbolsRZF, snr, ‘measured’) + sqrt(noiseVar/2) * (randn(size(OfdmSymbolsRZF)) + 1i * randn(size(OfdmSymbolsRZF)));
% Transmit through channel (AWGN) for PZF
rxSymbolsPZF = awgn(H * OfdmSymbolsPZF, snr, ‘measured’) + sqrt(noiseVar/2) * (randn(size(OfdmSymbolsPZF)) + 1i * randn(size(OfdmSymbolsPZF)));
% Transmit through channel (AWGN) without precoding
rxSymbolsWP = awgn(H * OfdmSymbolsWP, snr, ‘measured’) + sqrt(noiseVar/2) * (randn(size(OfdmSymbolsWP)) + 1i * randn(size(OfdmSymbolsWP)));
%% OFDM Demodulation
% Serial to Parallel Conversion
receivedSymbolsRZFSerial = reshape(rxSymbolsRZF, [], numAntennasRx).’; % Serial to parallel conversion
receivedSymbolsPZFSerial = reshape(rxSymbolsPZF, [], numAntennasRx).’; % Serial to parallel conversion
receivedSymbolsWPSerial = reshape(rxSymbolsWP, [], numAntennasRx).’; % Serial to parallel conversion
% Perform OFDM demodulation for RZF
rxSymbolsIFFTRZF = fft(receivedSymbolsRZFSerial, [], 2); % FFT
% Perform OFDM demodulation for PZF
rxSymbolsIFFTPZF = fft(receivedSymbolsPZFSerial, [], 2); % FFT
% Perform OFDM demodulation for no precoding
rxSymbolsIFFTWP = fft(receivedSymbolsWPSerial, [], 2); % FFT
%% Parallel to Serial Conversion
rxSymbolsDemod_RZF = reshape(rxSymbolsIFFTRZF.’, [], 1); % Parallel to serial conversion
rxSymbolsDemod_PZF = reshape(rxSymbolsIFFTPZF.’, [], 1); % Parallel to serial conversion
rxSymbolsDemod_WP = reshape(rxSymbolsIFFTWP.’, [], 1); % Parallel to serial conversion
% Remove the padded symbols before demodulation
rxSymbolsDemod_RZF = rxSymbolsDemod_RZF(1:end-paddingSymbols);
rxSymbolsDemod_PZF = rxSymbolsDemod_PZF(1:end-paddingSymbols);
rxSymbolsDemod_WP = rxSymbolsDemod_WP(1:end-paddingSymbols);
% QAM demodulation
demodBitsRZF = qamdemod(rxSymbolsDemod_RZF, ModulationOrder, ‘OutputType’, ‘bit’, ‘UnitAveragePower’, true);
demodBitsPZF = qamdemod(rxSymbolsDemod_PZF, ModulationOrder, ‘OutputType’, ‘bit’, ‘UnitAveragePower’, true);
demodBitsWP = qamdemod(rxSymbolsDemod_WP, ModulationOrder, ‘OutputType’, ‘bit’, ‘UnitAveragePower’, true);
% Calculate the Bit Error Rate (BER)
berRZF(i) = sum(demodBitsRZF ~= codedBits(1:end-paddingSymbols)) / numBits;
berPZF(i) = sum(demodBitsPZF ~= codedBits(1:end-paddingSymbols)) / numBits;
berWP(i) = sum(demodBitsWP ~= codedBits(1:end-paddingSymbols)) / numBits;
end
%% Display Results
fprintf(‘Bit Error Rate (RZF Precoding):n’);
disp(berRZF);
fprintf(‘Bit Error Rate (PZF Precoding):n’);
disp(berPZF);
fprintf(‘Bit Error Rate (Without Precoding):n’);
disp(berWP);
%% Plotting the results
figure;
semilogy(snrValues, berRZF, ‘bs-‘, ‘LineWidth’, 2);
hold on;
semilogy(snrValues, berPZF, ‘gs-‘, ‘LineWidth’, 2);
semilogy(snrValues, berWP, ‘rs-‘, ‘LineWidth’, 2);
xlabel(‘SNR (dB)’);
ylabel(‘Bit Error Rate (BER)’);
legend(‘RZF Precoding’, ‘PZF Precoding’, ‘Without Precoding’);
title(‘Massive MIMO 256×16 Antennas with RZF and PZF Precoding’);
grid on; here’s the full code
numAntennasTx = 256; % Number of antennasTx
numAntennasRx = 16; % Number of antennasRx
numBits = 10000000; % Number of random bits
ModulationOrder = 16; % 16QAM
snrValues = 0:5:40; % Range of SNR values
%% Generate Random Bits
bits = randi([0 1], numBits, 1);
%% Convolutional Encoding
trellis = poly2trellis(7, [171 133]); % Example trellis
codedBits = convenc(bits, trellis);
%% Modulation
mod_symbols = qammod(codedBits, ModulationOrder, ‘InputType’, ‘bit’, ‘UnitAveragePower’, true);
%% Ensure the number of symbols can be reshaped properly
numSymbols = length(mod_symbols);
paddingSymbols = mod(numAntennasTx – mod(numSymbols, numAntennasTx), numAntennasTx);
mod_symbols_padded = [mod_symbols; zeros(paddingSymbols, 1)];
%% Reshape modulated symbols to fit Tx antennas
mod_symbols_reshaped = reshape(mod_symbols_padded, numAntennasTx, []);
%% Precoding
H = (randn(numAntennasRx, numAntennasTx) + 1i * randn(numAntennasRx, numAntennasTx)) / sqrt(2*numAntennasRx); % Channel matrix
% Regularized Zero Forcing (RZF) Precoding
lambda = 0.01; % Regularization parameter
WRZF = (H’ / (H*H’ + lambda*eye(numAntennasRx)));
% Phased Zero Forcing (PZF) Precoding
angle_H = angle(H);
phase_shift = exp(-1i*angle_H);
H_pzf = H .* phase_shift;
WPZF = (H_pzf’ / (H_pzf*H_pzf’));
%% Apply Precoding
size(WRZF)
size(mod_symbols_reshaped)
precodedBitsRZF = WRZF * mod_symbols_reshaped; % precoding RZF
precodedBitsPZF = WPZF * mod_symbols_reshaped; % precoding PZF
%% Without Precoding
precodedBitsWP = mod_symbols_reshaped; % No precoding
%% OFDM Modulation with Precoding
OfdmSymbolsRZF = ifft(precodedBitsRZF, [], 2); % OFDM modulation with RZF precoding
OfdmSymbolsPZF = ifft(precodedBitsPZF, [], 2); % OFDM modulation with PZF precoding
OfdmSymbolsWP = ifft(precodedBitsWP, [], 2); % OFDM modulation without precoding
%% Channel AWGN
berRZF = zeros(1, length(snrValues)); % Initialize BER results for RZF
berPZF = zeros(1, length(snrValues)); % Initialize BER results for PZF
berWP = zeros(1, length(snrValues)); % Initialize BER results for no precoding
for i = 1:length(snrValues)
snr = snrValues(i);
noiseVar = 1 / (10^(snr/10));
% Transmit through channel (AWGN) for RZF
rxSymbolsRZF = awgn(H * OfdmSymbolsRZF, snr, ‘measured’) + sqrt(noiseVar/2) * (randn(size(OfdmSymbolsRZF)) + 1i * randn(size(OfdmSymbolsRZF)));
% Transmit through channel (AWGN) for PZF
rxSymbolsPZF = awgn(H * OfdmSymbolsPZF, snr, ‘measured’) + sqrt(noiseVar/2) * (randn(size(OfdmSymbolsPZF)) + 1i * randn(size(OfdmSymbolsPZF)));
% Transmit through channel (AWGN) without precoding
rxSymbolsWP = awgn(H * OfdmSymbolsWP, snr, ‘measured’) + sqrt(noiseVar/2) * (randn(size(OfdmSymbolsWP)) + 1i * randn(size(OfdmSymbolsWP)));
%% OFDM Demodulation
% Serial to Parallel Conversion
receivedSymbolsRZFSerial = reshape(rxSymbolsRZF, [], numAntennasRx).’; % Serial to parallel conversion
receivedSymbolsPZFSerial = reshape(rxSymbolsPZF, [], numAntennasRx).’; % Serial to parallel conversion
receivedSymbolsWPSerial = reshape(rxSymbolsWP, [], numAntennasRx).’; % Serial to parallel conversion
% Perform OFDM demodulation for RZF
rxSymbolsIFFTRZF = fft(receivedSymbolsRZFSerial, [], 2); % FFT
% Perform OFDM demodulation for PZF
rxSymbolsIFFTPZF = fft(receivedSymbolsPZFSerial, [], 2); % FFT
% Perform OFDM demodulation for no precoding
rxSymbolsIFFTWP = fft(receivedSymbolsWPSerial, [], 2); % FFT
%% Parallel to Serial Conversion
rxSymbolsDemod_RZF = reshape(rxSymbolsIFFTRZF.’, [], 1); % Parallel to serial conversion
rxSymbolsDemod_PZF = reshape(rxSymbolsIFFTPZF.’, [], 1); % Parallel to serial conversion
rxSymbolsDemod_WP = reshape(rxSymbolsIFFTWP.’, [], 1); % Parallel to serial conversion
% Remove the padded symbols before demodulation
rxSymbolsDemod_RZF = rxSymbolsDemod_RZF(1:end-paddingSymbols);
rxSymbolsDemod_PZF = rxSymbolsDemod_PZF(1:end-paddingSymbols);
rxSymbolsDemod_WP = rxSymbolsDemod_WP(1:end-paddingSymbols);
% QAM demodulation
demodBitsRZF = qamdemod(rxSymbolsDemod_RZF, ModulationOrder, ‘OutputType’, ‘bit’, ‘UnitAveragePower’, true);
demodBitsPZF = qamdemod(rxSymbolsDemod_PZF, ModulationOrder, ‘OutputType’, ‘bit’, ‘UnitAveragePower’, true);
demodBitsWP = qamdemod(rxSymbolsDemod_WP, ModulationOrder, ‘OutputType’, ‘bit’, ‘UnitAveragePower’, true);
% Calculate the Bit Error Rate (BER)
berRZF(i) = sum(demodBitsRZF ~= codedBits(1:end-paddingSymbols)) / numBits;
berPZF(i) = sum(demodBitsPZF ~= codedBits(1:end-paddingSymbols)) / numBits;
berWP(i) = sum(demodBitsWP ~= codedBits(1:end-paddingSymbols)) / numBits;
end
%% Display Results
fprintf(‘Bit Error Rate (RZF Precoding):n’);
disp(berRZF);
fprintf(‘Bit Error Rate (PZF Precoding):n’);
disp(berPZF);
fprintf(‘Bit Error Rate (Without Precoding):n’);
disp(berWP);
%% Plotting the results
figure;
semilogy(snrValues, berRZF, ‘bs-‘, ‘LineWidth’, 2);
hold on;
semilogy(snrValues, berPZF, ‘gs-‘, ‘LineWidth’, 2);
semilogy(snrValues, berWP, ‘rs-‘, ‘LineWidth’, 2);
xlabel(‘SNR (dB)’);
ylabel(‘Bit Error Rate (BER)’);
legend(‘RZF Precoding’, ‘PZF Precoding’, ‘Without Precoding’);
title(‘Massive MIMO 256×16 Antennas with RZF and PZF Precoding’);
grid on; transferred MATLAB Answers — New Questions
Recovering deleted emails
Hello,
Please i need your help on this issue.
We need help recovering deleted emails from a user. The deleted emails are not in the deleted items folder and have been deleted from Outlook. We would like the emails delivered in a separate file.
Is it possible.
Hello, Please i need your help on this issue. We need help recovering deleted emails from a user. The deleted emails are not in the deleted items folder and have been deleted from Outlook. We would like the emails delivered in a separate file.Is it possible. Read More
New Outlook and Meeting Forwarding
I was forced to change to the ‘New Outlook’ and am no longer able to save drafts of forward meeting invites. I also can’t update the subject line like I used to be able to. Please advise if anyone knows how to gets these functions back!
I was forced to change to the ‘New Outlook’ and am no longer able to save drafts of forward meeting invites. I also can’t update the subject line like I used to be able to. Please advise if anyone knows how to gets these functions back! Read More
If Or Statement, Cell contains specific text
Hello – I am trying to write a formula that says If Name contains Fred1, Fred2, or if Column B says Blue, or Column C says Leave, then Include (True) or Exclude (False). For example:
NameSpecificationWhereFred1BlueLeaveFred2BlueStayFred3YellowLeave
Hoping this makes sense, please let me know if otherwise. Thank you,
Hello – I am trying to write a formula that says If Name contains Fred1, Fred2, or if Column B says Blue, or Column C says Leave, then Include (True) or Exclude (False). For example: NameSpecificationWhereFred1BlueLeaveFred2BlueStayFred3YellowLeave Hoping this makes sense, please let me know if otherwise. Thank you, Read More
new outlook email
I am trying to add a new email to my outlook and it says authentication failed. I tried another new one and same thing. Why is this so difficult? Never had trouble before/
I am trying to add a new email to my outlook and it says authentication failed. I tried another new one and same thing. Why is this so difficult? Never had trouble before/ Read More
Group Sub-Task by Parent and then by Bucket Option
I’d like to display sub-tasks under the parent task in Grid view, similar to how the old Planner in Grid view displayed checklists. Is this functionality possible?
If this feature could be added, it would allow us to discontinue using Asana.
I’d like to display sub-tasks under the parent task in Grid view, similar to how the old Planner in Grid view displayed checklists. Is this functionality possible? If this feature could be added, it would allow us to discontinue using Asana. Read More
VSTACK and SORT
I have a spreadsheet with many (27) sheets where all the columns in each sheet are the same. I have created a dashboard using VSTACK to show all the data from all the sheets on a single page.
=VSTACK(Table1, Table2, Table3….Table27). Column G on the dashboard lists dues dates, and I would like to be able to sort the entire dashboard by column G.
The end result should be a dashboard that shows all the data from all the sheets and lists the rows in chronological order according to column G. I have tried to add a SORT function in front of the VSTACK with no luck (produces a #VALUE! error).
I have a spreadsheet with many (27) sheets where all the columns in each sheet are the same. I have created a dashboard using VSTACK to show all the data from all the sheets on a single page.=VSTACK(Table1, Table2, Table3….Table27). Column G on the dashboard lists dues dates, and I would like to be able to sort the entire dashboard by column G. The end result should be a dashboard that shows all the data from all the sheets and lists the rows in chronological order according to column G. I have tried to add a SORT function in front of the VSTACK with no luck (produces a #VALUE! error). Read More
Partner Blog | Thriving together: the power of Microsoft partner communities
In the dynamic and rapidly evolving world of technology, collaboration and community are vital to driving innovation. Working together and connecting with like-minded individuals and organizations unlocks immense growth potential. Microsoft partners enjoy a unique advantage through dedicated associations and networks that offer essential support, resources, and unparalleled networking opportunities. These partner-led organizations are more than just groups—they are vital catalysts for business enhancement, technological advancement, and collective success.
This blog will highlight the Microsoft Partner Community and several organizations empowering partners to achieve their business goals. These resources are pivotal in helping partners navigate the complexities of the tech landscape, drive innovation, and achieve sustainable growth. We are excited to showcase the outstanding work within the broader Microsoft partner ecosystem, which includes various companies dedicated to supporting and enhancing partner success.
The heart of Microsoft: Partner Community
Imagine entering a vibrant, virtual space buzzing with conversations, ideas, and collaborations. This is the Microsoft Partner Community, an online platform within the Microsoft Tech Community. Here, partners from around the world connect, collaborate, and share insights with peers and Microsoft experts.
With dynamic discussion forums, informative blogs, exclusive events, and a wealth of resources, this community is designed to help partners stay ahead of the curve and be informed about the latest Microsoft technologies, partner programs, and best practices. It is where networking and knowledge sharing fuel business growth and capability enhancement.
Popular discussion boards and blogs
The Marketplace discussion board serves as a tool to optimize your marketplace potential. Utilize it for content and events geared towards marketplace enhancement, join in discussions with peers and Microsoft, and share your marketplace feedback.
Join our Training Services Partner/Learning Partner discussion board to access the most current updates on programs, instructional materials, certifications, and news related to instructor-led training for partners focused on teaching technical Microsoft solution areas. This community is an excellent source for real-time TSP updates, helping partners oversee strategic and operational facets of their Microsoft training ventures. Moreover, it is a place where partners can find answers tailored to their unique questions and engage with or assist fellow partners across the globe.
Become a part of our Partners for social impact (Non-profit) discussion board and elevate your business by serving the non-profit sector. Create significant revenue streams by aiding non-profit organizations in their quest to expedite their mission’s success and provide impactful services through innovative technology. Non-profits are keenly interested in understanding how artificial intelligence (AI) can benefit them. As a Microsoft partner, you are in the position to guide non-profits along a secure and ethical journey into AI. Your support can enable them to tailor AI according to their distinct missions and community needs, ranging from enhancing interactions with AI to incorporating Copilot on Microsoft 365 and even building their specialized AI solutions via Azure.
Do you have a question and need help finding the answer? Connect with other partners and get answers in our Partner-led questions & tech topics discussion board.
Want to stay up to date with everything partner-related? Subscribe to the Partner news blog, where we share the latest announcements on events, releases, program updates, and case studies.
Continue reading here
Microsoft Tech Community – Latest Blogs –Read More
Optimize Azure Stack HCI with the Well-Architected Framework
Azure Stack HCI is a hyperconverged infrastructure (HCI) solution that provides storage, network, and compute resources in on-premises or edge locations. It supports the creation and management of Windows and Linux virtual machines (Arc VMs), AKS clusters for containerized workloads, and other Azure Arc-enabled services, such as SQL Managed Instance (MI) and Arc-enabled machine learning (ML). Azure Stack HCI is connected to Azure for streamlined deployment and management, which provides a unified and consistent management experience using Azure portal and Azure Update Manager for updates, and the Arc Resource Bridge for workload orchestration and provisioning operations.
You can use Azure Stack HCI and Azure Arc capabilities to keep business systems and application data on-premises to address data sovereignty, regulation & compliance, and latency requirements. For more information, please see What is Azure Stack HCI?
The Azure Well-Architected Framework (WAF) provides prescriptive guidance and recommendations for architects to use when creating or reviewing cloud solutions. The WAF guidance is organized into five pillars, Reliability, Security, Cost Optimization, Operational Excellence, and Performance Efficiency. Incorporating the recommendations into platform and workload designs helps to ensure reliable, scalable, and performant architecture patterns are implemented for cloud solutions.
Today I am announcing the Azure Well-Architected Framework Service Guide for Azure Stack HCI. Like other service guides, this guide for Azure Stack HCI contains design checklists, and detailed configuration recommendations that can assist cloud architects in designing and deploying Azure Stack HCI in line with the guiding tenets of the Well-Architected Framework: Reliability, Security, Cost Optimization, Operational Excellence, and Performance Efficiency.
When you’re designing a new Azure Stack HCI deployment, this guide offers advice to make sure your platform is set up effectively. Use the design checklists for tailored recommendations during planning. Each recommendation includes a rationale and a link to product documentation for more details. If you’ve already implemented Azure Stack HCI, this guide can direct you to enhance your platform or workload designs in line with the WAF pillars.
Updated Azure Architecture Center pattens
To accompany the new Azure WAF Service Guide for Azure Stack HCI, we have published new and updated Azure Architecture Center (AAC) reference architectures, as detailed below:
1. Azure Stack HCI – baseline reference architecture for guidance and recommendations for configuring Azure Stack HCI infrastructure as a reliable platform to deploy and manage highly available virtualized, and containerized workloads.
2. Azure Stack HCI – three-node storage switchless architecture for guidance and recommendations for deploying Azure Stack HCI using a three-node storage switchless network architecture.
We plan to publish more Azure Stack HCI Infrastructure and Workload design patterns in the Azure Architecture Center in the coming months, which will provide additional guidance and recommendations.
If you have any feedback or comments in relation to the Azure Stack HCI WAF content, please send an email to AzS-WAF-Feedback@microsoft.com
Author Bio
Neil Bird is a Principal Program Manager in the Azure Edge & Platform Engineering team at Microsoft. His background is in Azure and Hybrid Cloud infrastructure, operational excellence, and automation. He is passionate about helping customers deploy and manage cloud solutions effectively using Azure and Azure Edge technologies.
Microsoft Tech Community – Latest Blogs –Read More
Determining gait cycle from heel marker motion capture data
I have motion capture data of participants walking, jogging and running on a treadmill. Participants had a marker on each heel. I need to determine each gait cycle from this data so that I can then calculate breast range of motion, velocity and acceleration for each gait cycle.I have motion capture data of participants walking, jogging and running on a treadmill. Participants had a marker on each heel. I need to determine each gait cycle from this data so that I can then calculate breast range of motion, velocity and acceleration for each gait cycle. I have motion capture data of participants walking, jogging and running on a treadmill. Participants had a marker on each heel. I need to determine each gait cycle from this data so that I can then calculate breast range of motion, velocity and acceleration for each gait cycle. gait cycle determination, motion capture MATLAB Answers — New Questions
How do you use a one parameter (S11), (s1p extension) file to model a direct RF chip input in RF Budget analyzer.
I’m trying to model the TI AFE7906 and have some one port S11 input reflection files provided that describe the input behaviour of the receive ports. How can these files be entered in the RF Budget Analyer (in the "S-Parameters" element) to do this? I realize the app is looking for a two port file for it’s cascade analysis but I need to model the Rx input at the end of the RF chain.I’m trying to model the TI AFE7906 and have some one port S11 input reflection files provided that describe the input behaviour of the receive ports. How can these files be entered in the RF Budget Analyer (in the "S-Parameters" element) to do this? I realize the app is looking for a two port file for it’s cascade analysis but I need to model the Rx input at the end of the RF chain. I’m trying to model the TI AFE7906 and have some one port S11 input reflection files provided that describe the input behaviour of the receive ports. How can these files be entered in the RF Budget Analyer (in the "S-Parameters" element) to do this? I realize the app is looking for a two port file for it’s cascade analysis but I need to model the Rx input at the end of the RF chain. s1p file MATLAB Answers — New Questions
trying to call a function from a function file in a script file
func = afunction; %trying to make the variable func equivalent to "afunciton",
% the function I created in the afunction file but it doesn’t work 🙁
llim = -5;
ulim = -1;
options = optimset(‘Display’,’iter’,’TolX’,10^-7,’Maxiter’,500);
[x] = fzero(@func, [llim ulim],options);
I have a seperate function file called afunction that has the function afunction (which just has like a f(x)= … function in it), but when I try to run this code the error says "Execution of script afunction as a function is not supported:
/Users/my name/Documents/MATLAB/afunction.m" in line 2func = afunction; %trying to make the variable func equivalent to "afunciton",
% the function I created in the afunction file but it doesn’t work 🙁
llim = -5;
ulim = -1;
options = optimset(‘Display’,’iter’,’TolX’,10^-7,’Maxiter’,500);
[x] = fzero(@func, [llim ulim],options);
I have a seperate function file called afunction that has the function afunction (which just has like a f(x)= … function in it), but when I try to run this code the error says "Execution of script afunction as a function is not supported:
/Users/my name/Documents/MATLAB/afunction.m" in line 2 func = afunction; %trying to make the variable func equivalent to "afunciton",
% the function I created in the afunction file but it doesn’t work 🙁
llim = -5;
ulim = -1;
options = optimset(‘Display’,’iter’,’TolX’,10^-7,’Maxiter’,500);
[x] = fzero(@func, [llim ulim],options);
I have a seperate function file called afunction that has the function afunction (which just has like a f(x)= … function in it), but when I try to run this code the error says "Execution of script afunction as a function is not supported:
/Users/my name/Documents/MATLAB/afunction.m" in line 2 function call MATLAB Answers — New Questions
Formula for balance criteria
I only want to populate 5 in the calculated field if the balance is greater than 300 and less than 1000. Is it only populating if any of the fields fall below 300. Any suggestions?
=IF(OR( (D14:V14>300) * (D14:V14<1000)),5,0)
1,905.01463.08380.56367.43367.43268.21223.2223.2170.52661.12643.04584.23584.23508.32330.47310.65300.65214.75683.08
I only want to populate 5 in the calculated field if the balance is greater than 300 and less than 1000. Is it only populating if any of the fields fall below 300. Any suggestions?=IF(OR( (D14:V14>300) * (D14:V14<1000)),5,0)1,905.01463.08380.56367.43367.43268.21223.2223.2170.52661.12643.04584.23584.23508.32330.47310.65300.65214.75683.08 Read More
how do I merge the 3 accounts or delete the new email
Hello
Please i need your help on this issue.
I originally had a personal account with the email XXX@gmail.com. Once Teams stopped supporting Gmail addresses I added XXX@outlook.com. Now that I have upgraded to Business Basic I have added another email XXX@xxx.onmicrosoft.com.
I do not have the time or energy to monitor 3 business email accounts! I already have business cards and headed letter templates so I do not wish change my business email.
So my question is how do I merge the 3 accounts or delete the new email? I wish to retain XXX@outlook.com and require Teams etc to apply Business Basic parameters to this account not add an additional one.
Hello Please i need your help on this issue. I originally had a personal account with the email XXX@gmail.com. Once Teams stopped supporting Gmail addresses I added XXX@outlook.com. Now that I have upgraded to Business Basic I have added another email XXX@xxx.onmicrosoft.com. I do not have the time or energy to monitor 3 business email accounts! I already have business cards and headed letter templates so I do not wish change my business email. So my question is how do I merge the 3 accounts or delete the new email? I wish to retain XXX@outlook.com and require Teams etc to apply Business Basic parameters to this account not add an additional one. Read More
Department not displayed
Hi everyone,
I’m working with pnp-modern-search to add these web parts to our intranet. However, even though I’ve selected the “department” field, it doesn’t show up in the list results. Only the person’s name, title, email, and phone number are displayed.
I’ve even used the SharePoint query tool, and the Department property is filled in, but for some reason, it’s not showing up in the results.
I’ve also set up the results to be sorted by department, and the search sorts them just fine. The only issue is that the department field isn’t displayed.
Does anyone with experience using this web part have any idea where I might look to find the cause of this issue?
Thank you,
Hi everyone, I’m working with pnp-modern-search to add these web parts to our intranet. However, even though I’ve selected the “department” field, it doesn’t show up in the list results. Only the person’s name, title, email, and phone number are displayed. I’ve even used the SharePoint query tool, and the Department property is filled in, but for some reason, it’s not showing up in the results. I’ve also set up the results to be sorted by department, and the search sorts them just fine. The only issue is that the department field isn’t displayed. Does anyone with experience using this web part have any idea where I might look to find the cause of this issue? Thank you, Read More
Partner Case Study Series | Barracuda Networks
Barracuda Networks, a Microsoft security partner removing barriers to cloud adoption
Barracuda is committed to bringing cloud-engineered, enterprise-grade security solutions that are easy to buy, deploy and use. The company believes in providing innovative cloud solutions that grow and adapt with its customers. Barracuda engineering teams collaborate extensively with Microsoft development teams, leveraging the Microsoft Azure platform to deliver client solutions. More than 200,000 customers worldwide trust Barracuda to protect them from advanced and emerging risks.
“Thanks to Barracuda, we no longer have any security-related concerns about deploying in Azure. That frees us to ramp up our cloud innovation strategy considerably,” said Miguel Vidal, Production/Systems/Communications Manager, UNICRE.
Flexible billing and monthly payments through Azure Marketplace let customers quickly deploy new services. Having delivered over one million cloud-enabled products, Barracuda facilitates its customers’ cloud adoption and protects them from threats to applications, data, and networks.
Continue reading here
**Explore all case studies or submit your own**
Microsoft Tech Community – Latest Blogs –Read More