پارس‌کدرز چگونه کار می‌کند؟

از پارس‌کدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.

پارس‌کدرز خریداران یا کارفرمایان را به مجری‌ها /فریلنسرهای خبره‌ای متصل می‌کند که برای انجام پروژه آماده هستند.

تمرین سیگنال با متلب

هفت ماه پیش منتشر شده

تعداد بازدید: 112

کد پروژه: 482604


شرح پروژه

سلام

سلام. اشنایی در مورد LTI سیستم دارید؟ سیگنال ورودی دارم، خروجی هم دارم، میخوام کد متلب ش را بنویسید برام که error ش را بگیره

ساده هم هست فک نکنم زیاد کاری داشته باشه براتون میتونید سریع انجام بدید؟

سیگنال ورودی (یک پالس مربعی) در متلب تعریف کردم، بعد داده خروجی را  از سیستم داخل ازمایشگاه گرفتم. طبیعتا سیستم یه اروری داره که روی پالس وردی تاثیر میذاره و شکل پالس را تغییر میده. حالا میخوام impulse response سیستم را پیدا کنم و بر مبنای اون ورودی را تعریف کنم تا ارور سیستم را تصحیح کنم. سیستم linear time invariant هست(LTI). کد هم نوشتم ولی نیاز به اصلاح داره تا خروجی صحیح بده. و اینکه تا کی می تونید انجامش بدید. هزینه ش هم بفرمایید.

کد نصف و نیمه هم که نوشتم براتون می فرستم بفهمید چی به چیه..

Saeid .s, [3/17/2024 8:37 PM]

clc;

clear;

close all;

% Input parameters

s = 16383;      % Sample rate (SR) of my pulse correspond to the sampling rate of the ultra_sigma software

R = 1e6;        % Repetition rate 

d = 1e-8;       % Duration of the pulse

t = 0:1/s:1;    % Time vector from 0 to 1 with step size 1/s

% Calculation

T = 1/R;

DC = d/T;       % Duty cycle for the desired pulse duration

% Generate the original signal

signal = -ones(size(t));

signal(1:round(length(t)*DC)) = 1; 

% Load data from the CSV file

data = csvread('3000.75vpp-LD12ns1MHZ.csv');

time = data(:, 1);

amplitude = data(:, 2);

% Scaling horizontal (time data) to nanoseconds

x = time * 1e+9;    % [x] = ns

% Horizontal offset correction

x = x - min(x);

% Normalizing amplitude to 1

y = amplitude / max(amplitude);

% Remove duplicate x values

[x_unique, idx] = unique(x);

y_unique = y(idx);

% Rescale x-axis from 0 to 50 to 0 to 1

x_rescaled = x_unique / 50;

% Resample and interpolate y to match t using spline interpolation

y_resampled = spline(x_rescaled, y_unique, linspace(0, 1, numel(t)));

figure;

plot(x_rescaled, y_unique, 'b', 'LineWidth', 2); hold on;

plot(linspace(0, 1, numel(t)), y_resampled, 'r--', 'LineWidth', 1.5);

xlabel('Normalized Time (0-1)');

ylabel('Amplitude');

legend('Original Signal', 'Resampled Signal');

title('Original and Resampled Signals');

grid on;

input = signal;

output = y_resampled;

% pad the input and ouput signals with zeros to a common length

% comLength = 16384;

% input = [input, zeros(1, comLength - length(input))];

% output = [output, zeros(1, comLength - length(output))];

%my approch

% estimate the psd of input and output using fft

X = fftshift(fft(input));

Y = fftshift(fft(output));

% reorder samples to have frequency response between (-fs/2, fs/2]

%  X = [X(2:end), X(1)];

%  Y = [Y(2:end), Y(1)];

 epsilon = 0;

h3 = ifftshift(ifft(Y(:)./X(:)));

H3 = Y(:)./X(:);

newX = X(:)./H3(:);

%newx = conv(h3, input, 'same');

newx = ifft(ifftshift(newX));

newx = abs(newx)';

newx = newx./max(newx);

% figure; 

% plot(t,H3, 'linewidth', 1);

% figure; 

% plot(t,Y, 'linewidth', 1);

% figure;

% plot(t, newX, 'linewidth', 1);

% title ('newX');

figure;

plot (t, newx, 'linewidth', 2);

hold on

plot (t, signal, 'linewidth', 2)

data = [newx'];

save('mypulsetest.txt', 'data', '-ascii');

Saeid .s, [3/17/2024 8:43 PM]

این دیتای خروجیه. دیتای ورودی هم که تعریف کردم تو متلب. یک پالس مربعی ده نانوثانیه.

این پروژه شامل 2 فایل مهم است، لطفا قبل از ارسال پیشنهاد حتما نسبت به بررسی این فایل اقدام فرمایید.

مهارت ها و تخصص های مورد نیاز


بودجه

100,000 تومان تا 300,000 تومان

مهلت برای انجام

4روز

وضعیت مناقصه

انجام شده


درباره کارفرما

عضویت یک سال پیش

2186 پروژه ثبت شده ،
57 پروژه در حال انجام ،
19 پروژه آماده دریافت پیشنهاد ،
نرخ پذیرش پیشنهاد 40%

برای پیدا کردن پروژه‌های مشابه ثبت نام کنید و پروفایل خود را بسازید.

ورود با گوگل
یا
نام نباید خالی باشد.
نام خانوادگی نباید خالی باشد.

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

قادر به انجام این پروژه هستید؟

ثبت نام کنید

مهلت ارسال پیشنهاد قیمت برای این پروژه تمام شده است

سری به پروژه‌های مشابه بزنید

روش کار در پارس‌کدرز

به رایگان یک حساب کاربری بسازید

مهارت‌ها و تخصص‌های خود را ثبت کنید، رزومه و نمونه‌کارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.

به شیوه‌ای که دوست دارید کار کنید

برای پروژه‌های دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصت‌های شغلی منحصر به فرد دسترسی پیدا کنید.

با اطمینان دستمزد دریافت کنید

از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.

می‌خواهید شروع به کار کنید؟

یک حساب کاربری بسازید


بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارت‌های شما است.

پیدا کردن کار (پروژه)

تماشای دمو روش کار