基于八相偏移调制的原理,本着资料稀少的原则,分享一下自己的经验。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PIQPSKMODEM使用清单
% 卷积编码/编码的Ser/Ber~Snr曲线
% 仿真星座图,pi/4_QPSK信号的产生方法基带及调制;
% 仿真差分解调 QPSK信号的过程及结果;
% 符号速率 =1Mbps;
% 基带成形滤波器滚降系数a=0.5;
% 采样速率 =8Mbps;
% 绘制Hilbert滤波器及普通带通滤波器的频率响应图
% 绘制 pi/4_QPSK信号的频谱及时域波形,绘制解调后的同相正交支路眼图
% 暂缺同步
close all;
clear all;
clc;
ps=1*10^6;   %码速率为1MHz
a=0.8;       %成形滤波器系数
B=(1+a)*ps;  %中频信号处理带宽
Fs=8*10^6;   %采样速率
fc=2*10^6;   %载波频率
N=2000;     %仿真数据的长度t=0:1/Fs:(N*Fs/ps-1)/Fs;%产生长度为N,频率为fs的时间序列
s=randi(4,1,N);       %产生随机四进制数据作为原始数据
A=[1i,2^0.5/2+2^0.5/2*1i,1,2^0.5/2-2^0.5/2*1i,-1i,-2^0.5/2-2^0.5/2*1i,-1,-2^0.5/2+2^0.5/2*1i];
Maptable=[0 0;0 1;1 1;1 0];
figure ;
scatter(real(A),imag(A),'filled');title('pi/4QPSK星座图');%将绝对码转化为二进制绝对码
bin_s=zeros(1,2*N);
for i=1:1:Nif(s(i)==1)bin_s(2*i-1)=0,bin_s(2*i)=0;else if(s(i)==2)bin_s(2*i-1)=0,bin_s(2*i)=1;else if(s(i)==3)bin_s(2*i-1)=1,bin_s(2*i)=1;else if(s(i)==4)bin_s(2*i-1)=1,bin_s(2*i)=0;endendendend
end
%对二进制绝对码进行卷积
Tre = poly2trellis(7,[133 171]);
code_bin_s= convenc(bin_s,Tre);%将卷积码转换为四进制
code_s=zeros(1,2*N);
for i=1:2*Nif(code_bin_s(2*i-1)==0&&code_bin_s(2*i)==0)code_s(i)=1;endif(code_bin_s(2*i-1)==0&&code_bin_s(2*i)==1)code_s(i)=2;endif(code_bin_s(2*i-1)==1&&code_bin_s(2*i)==1)code_s(i)=3;endif(code_bin_s(2*i-1)==1&&code_bin_s(2*i)==0)code_s(i)=4;end
end
%将绝对码变换为相对码
xk=ones(1,N);
yk=ones(1,N);for i=2:Nif s(i)==1xk(i)=xk(i-1)*cos(pi/4)-yk(i-1)*sin(pi/4);yk(i)=yk(i-1)*cos(pi/4)+xk(i-1)*sin(pi/4);elseif s(i)==2 xk(i)=xk(i-1)*cos(-pi/4)-yk(i-1)*sin(-pi/4);yk(i)=yk(i-1)*cos(-pi/4)+xk(i-1)*sin(-pi/4);elseif s(i)==3 xk(i)=xk(i-1)*cos(3*pi/4)-yk(i-1)*sin(3*pi/4);yk(i)=yk(i-1)*cos(3*pi/4)+xk(i-1)*sin(3*pi/4);elseif s(i)==4 xk(i)=xk(i-1)*cos(-3*pi/4)-yk(i-1)*sin(-3*pi/4);yk(i)=yk(i-1)*cos(-3*pi/4)+xk(i-1)*sin(-3*pi/4);end
end
%将卷积绝对码转化为卷积相对码
xkk=ones(1,2*N);
ykk=ones(1,2*N);
for i=2:2*Nif code_s(i)==1xkk(i)=xkk(i-1)*cos(pi/4)-ykk(i-1)*sin(pi/4);ykk(i)=ykk(i-1)*cos(pi/4)+xkk(i-1)*sin(pi/4);elseif code_s(i)==2xkk(i)=xkk(i-1)*cos(-pi/4)-ykk(i-1)*sin(-pi/4);ykk(i)=ykk(i-1)*cos(-pi/4)+xkk(i-1)*sin(-pi/4);elseif code_s(i)==3 xkk(i)=xkk(i-1)*cos(3*pi/4)-ykk(i-1)*sin(3*pi/4);ykk(i)=ykk(i-1)*cos(3*pi/4)+xkk(i-1)*sin(3*pi/4);elseif code_s(i)==4xkk(i)=xkk(i-1)*cos(-3*pi/4)-ykk(i-1)*sin(-3*pi/4);ykk(i)=ykk(i-1)*cos(-3*pi/4)+xkk(i-1)*sin(-3*pi/4);end
end
%对相对码数据以Fs频率采样
Ads_i=upsample(xk,Fs/ps);
Ads_q=upsample(yk,Fs/ps);%加噪声
SNR=20;
Ads_i=awgn(Ads_i,SNR);
Ads_q=awgn(Ads_q,SNR);%设计平方根升余弦滤波器
n_T=[-2 2];
rate=Fs/ps;
T=1;
Shape_b = rcosfir(a,n_T,rate,T,'sqrt');
%对采样后的数据进行升余弦滤波;
rcos_Ads_i=filter(Shape_b,1,Ads_i);
rcos_Ads_q=filter(Shape_b,1,Ads_q);%产生同相正交两路载频信号
f0_i=cos(2*pi*fc*t);
f0_q=sin(2*pi*fc*t);       %产生PI/4_QPSK已调信号
piqpsk=rcos_Ads_i.*f0_i-rcos_Ads_q.*f0_q;       dd=(xk+yk*1i)*(2^0.5)/2;
Ps=1;
Pn=Ps/SNR;
z=sqrt(Pn/2)*(randn(size(dd))+1i*randn(size(dd)));
y=dd+z;
figure;scatter(real(y(1:N/2)),imag(y(1:N/2)),'filled');title('π/4QPSK接收星座图');%设计Hilbert滤波器及相同阶数的普通带通滤波器
fpm=[0 0.25 1 3 3.75 4]*10^6*2/Fs;  %firpm函数的频段向量
magpm=[0 0 1 1 0 0];                %firpm函数的幅值向量
n=30;                               %滤波器阶数
h_bpf=firpm(n,fpm,magpm,'hilbert滤波器') ;%Hilbert带通滤波器
bpf=firpm(n,fpm,magpm);             %普通带通滤波器figure;
%绘制Hilbert滤波器及普通带通滤波器频率响应
freqz(h_bpf);
freqz(bpf);%完成对PI/4_QPSK信号的Hilbert滤波及普通滤波
piqpsk_i=filter(bpf,1,piqpsk);
piqpsk_q=filter(h_bpf,1,piqpsk);%对普通带通滤波后的数据进行一个符号周期延时处理
piqpsk_di=[zeros(1,Fs/ps),piqpsk_i(1:length(piqpsk_i)-Fs/ps)];%实现差分解调
demod_mult_i=piqpsk_i.*piqpsk_di;
demod_mult_q=piqpsk_q.*piqpsk_di;%对乘法运算后的同相正交支路滤波
demod_i=filter(Shape_b,1,demod_mult_i);
demod_q=filter(Shape_b,1,demod_mult_q);%绘制解调后的同相正交支路眼图
eyediagram(demod_i,4*Fs/ps)
eyediagram(demod_q,4*Fs/ps)
%得到的解码信号demod_i=sing,g为相位,demod_q为cosg%绘制pi4_QPSK信号频谱、pi4_QPSK信号时域波形
figure;
m_piqpsk=20*log10(abs(fft(piqpsk,1024)));m_piqpsk=m_piqpsk-max(m_piqpsk);
%设置幅频响应的横坐标单位为MHz
x_f=[0:(Fs/length(m_piqpsk)):Fs/2];x_f=x_f/10^6;
%只显示正频率部分的幅频响应
mpiqpsk=m_piqpsk(1:length(x_f));
%设置时域波表的横坐标单位为usLen=100;%设置时域波形显示的点数
x_t=1:Len;%产生长度为Len的时间序列
x_t=x_t/Fs*10^6;
%显示所需的频谱及时域波形
subplot(211); plot(x_f,mpiqpsk);
legend('PI/4 QPSK信号频谱');
xlabel('频率(MHz)');ylabel('幅度(dB)');grid on;
subplot(212);plot(x_t,piqpsk(101:Len+100));
legend('PI/4 QPSK时域信号波形');
xlabel('时间(us)');ylabel('幅度(V)');grid on;% figure;
% subplot(211);
% x_t=1:8:1000;
% plot(x_t,demod_i(x_t));title("解调后同相基带波形");
% subplot(212);
% plot(x_t,demod_q(x_t));title("解调后正交基带波形");
% % %进行信号解调,统计不同信噪比下的误码率与误符号率,并于理论结果对比验证
sum=2;
H=cos(pi/4);
for i=2:length(dd)B=[ real(dd(i-1))*H-imag(dd(i-1))*H+(imag(dd(i-1))*H+real(dd(i-1))*H)*1i,real(dd(i-1))*H-imag(dd(i-1))*(-H)+(imag(dd(i-1))*H+real(dd(i-1))*(-H))*1i,real(dd(i-1))*(-H)-imag(dd(i-1))*H+(imag(dd(i-1))*(-H)+real(dd(i-1))*H)*1i,real(dd(i-1))*(-H)-imag(dd(i-1))*(-H)+(imag(dd(i-1))*(-H)+real(dd(i-1))*(-H))*1i ];Dist=abs(dd(i)-B);      [~,Index]=min(Dist);      %找到距离最近的星座图点 x_est(i)=B(Index);        %得到发射调制信号的估计result(sum)=Index;sum=sum+1;bin_res(2*i-1:2*i)=Maptable(Index,:); %得到比特数据的估计
endfigure;
Len=N;
x_t=1:Len;
plot(x_t,bin_res(x_t));
title("PI/4QPSK解调后信号");Ber1=ones(1,20);Ber2=ones(1,20);
num=0;
for snr=1:20;                 %信噪比循环,实际使用请改成-10到10 ,SNR_DB改为snr-21for mt=1:100              %蒙特卡洛循环,因省时实际使用时设置为1000,num也除以1000SNR_dB=snr;        %不同信噪比下生成AWGN信道 SNR=10^(SNR_dB/10);   Ps=1;  Pn=Ps/SNR;z=sqrt(Pn/2)*(randn(size(dd))+1i*randn(size(dd)));y=dd+z;for i=2:1:length(y)B=[ real(y(i-1))*H-imag(y(i-1))*H+(imag(y(i-1))*H+real(y(i-1))*H)*1i,real(y(i-1))*H-imag(y(i-1))*(-H)+(imag(y(i-1))*H+real(y(i-1))*(-H))*1i,real(y(i-1))*(-H)-imag(y(i-1))*H+(imag(y(i-1))*(-H)+real(y(i-1))*H)*1i,real(y(i-1))*(-H)-imag(y(i-1))*(-H)+(imag(y(i-1))*(-H)+real(y(i-1))*(-H))*1i ];Dist=abs(y(i)-B);      [~,Index]=min(Dist);      %找到距离最近的星座图点 result(i)=Index;bin_res(2*i-1:2*i)=Maptable(Index,:); %得到比特数据的估计end[tureerr1,per2]=symerr(result,s);  %per2单次过程中的误符号率num=num+per2;          %求100次循环误码率总和endBer1(snr)=num/100;num=0;%100次误码率的平均值%theoerr1(snr)=2*qfunc(sqrt(2*SNR)*sin(pi/4));theoerr1(snr)=1/2*erfc(sqrt(SNR/2));
end
Ser1=Ber1*log2(2);%%卷积后的Ber/Ser~SNR曲线num=0;sum=1;
code_dd=xkk+1i*ykk;
for snr=1:20                  %信噪比循环for mt=1:100              %蒙特卡洛循环,实际使用时设置为1000,num也除以1000SNR_dB=snr;        %不同信噪比下生成AWGN信道 SNR=10^(SNR_dB/10);   Ps=1;  Pn=Ps/SNR;z=sqrt(Pn/2)*(randn(size(code_dd))+1i*randn(size(code_dd)));y=code_dd+z;for i=2:1:length(y)B=[ real(y(i-1))*H-imag(y(i-1))*H+(imag(y(i-1))*H+real(y(i-1))*H)*1i,real(y(i-1))*H-imag(y(i-1))*(-H)+(imag(y(i-1))*H+real(y(i-1))*(-H))*1i,real(y(i-1))*(-H)-imag(y(i-1))*H+(imag(y(i-1))*(-H)+real(y(i-1))*H)*1i,real(y(i-1))*(-H)-imag(y(i-1))*(-H)+(imag(y(i-1))*(-H)+real(y(i-1))*(-H))*1i ];Dist=abs(y(i)-B);      [~,Index]=min(Dist);   code_bin_res(2*i-1:2*i)=Maptable(Index,:); %得到二进制解码信号endtblen = 18;code_res = vitdec(code_bin_res,Tre,tblen,'trunc','hard');    [tureerr2,per1]=symerr(code_res,bin_s);  %per2单次过程中的误符号率num=num+per1;          %求100次循环误码率总和endBer2(snr)=num/100; num=0;theoerr1(snr)=2*qfunc(sqrt(2*SNR)*sin(pi/4));theoerr2(snr)=1/2*erfc(sqrt(SNR/2));
endSer2=Ber2*log2(2);
S=1:20; %信噪比区间
figure;subplot(211);
semilogy(S,Ber1,'r',S,theoerr1*2,'b');
xlabel('SNR');ylabel('Ber');title('编码Ber/SNR的关系');legend('实际','理论');grid on;
subplot(212);
semilogy(S,Ber2,'g',S,theoerr2*2,'b');
xlabel('SNR');ylabel('Ber');title('卷积编码Ber/SNR的关系');
legend('实际','理论');grid on;  figure;subplot(211);
semilogy(S,Ser1,'r',S,theoerr1,'b');
xlabel('SNR');ylabel('Ser');title('编码Ser/SNR的关系');legend('实际','理论');grid on;
subplot(212);
semilogy(S,Ser2,'g',S,theoerr2,'b');
xlabel('SNR');ylabel('Ser');title('卷积编码Ser/SNR的关系');
legend('实际','理论');grid on;

采用中频差分解调,下面为基带差分解调代码demo

close all;
clc;
ps=4*10^6;   %码速率
a=0.8;       %成形滤波器系数
B=(1+a)*ps;  %中频信号处理带宽
Fs=64*10^6;   %采样速率
fc=2.4*10^9;   %载波频率
N=2000;     %仿真数据的长度t=0:1/Fs:(N*Fs/ps-1)/Fs;%产生长度为N,频率为fs的时间序列
s=(randi(4,1,N)-1);       %产生随机四进制数据作为原始数据
A=[1i,2^0.5/2+2^0.5/2*1i,1,2^0.5/2-2^0.5/2*1i,-1i,-2^0.5/2-2^0.5/2*1i,-1,-2^0.5/2+2^0.5/2*1i];
Maptable=[0 0;0 1;1 1;1 0];
% figure ;
% scatter(real(A),imag(A),'filled');title('pi/4QPSK星座图');%将绝对码变换为相对码
xk=ones(1,N);
yk=ones(1,N);for i=2:Nif s(i)==3xk(i)=xk(i-1)*cos(pi/4)-yk(i-1)*sin(pi/4);yk(i)=yk(i-1)*cos(pi/4)+xk(i-1)*sin(pi/4);elseif s(i)==2 xk(i)=xk(i-1)*cos(-pi/4)-yk(i-1)*sin(-pi/4);yk(i)=yk(i-1)*cos(-pi/4)+xk(i-1)*sin(-pi/4);elseif s(i)==1 xk(i)=xk(i-1)*cos(3*pi/4)-yk(i-1)*sin(3*pi/4);yk(i)=yk(i-1)*cos(3*pi/4)+xk(i-1)*sin(3*pi/4);elseif s(i)==0 xk(i)=xk(i-1)*cos(-3*pi/4)-yk(i-1)*sin(-3*pi/4);yk(i)=yk(i-1)*cos(-3*pi/4)+xk(i-1)*sin(-3*pi/4);end
end%对相对码数据以Fs频率采样
Ads_i=upsample(xk,Fs/ps);
Ads_q=upsample(yk,Fs/ps);%加噪声
SNR=50;
Ads_i=awgn(Ads_i,SNR);
Ads_q=awgn(Ads_q,SNR);%设计平方根升余弦滤波器
n_T=[-2 2];
rate=Fs/ps;
T=1;
Shape_b = rcosfir(a,n_T,rate,T,'sqrt');
%对采样后的数据进行升余弦滤波;
rcos_Ads_i=filter(Shape_b,1,Ads_i);
rcos_Ads_q=filter(Shape_b,1,Ads_q);%-------------匹配滤波+降采样------------
rcos_Ads_i=upfirdn(rcos_Ads_i,Shape_b,1,16);
rcos_Ads_q=upfirdn(rcos_Ads_q,Shape_b,1,16);[j,k]=size(rcos_Ads_i);
%不滤波直接采样
w=zeros(1,k);
z=zeros(1,k);
i1=zeros(1,k);
q1=zeros(1,k);
so=zeros(1,k);w=rcos_Ads_i;
z=rcos_Ads_q;
for i=2:1:ki0(i)=w(i)*w(i-1)+z(i)*z(i-1);q0(i)=z(i)*w(i-1)-w(i)*z(i-1);if i0(i)>0&&q0(i)>0so(i)=3;elseif i0(i)<0&&q0(i)>0so(i)=1;elseif i0(i)<0&&q0(i)<0so(i)=0;elseif i0(i)>0&&q0(i)<0so(i)=2;end
end
%----------输出-----------
soo(1:N)=so(k-N+1:k);
%----------误码-----------
a=0;
for i=1:2000if s(i)==soo(i)a=a+1;end
end

采用FGPA仿真则分为不同模块,其中本人忽略了3个。
1.串并转换
2.差分编码
3.载波调制(忽略)
4.接收载波(忽略)
5.恢复相位(忽略)
6.延迟相乘
7.门限判决(位同步)
8.并串转换
IP核:fir滤波器(cosfir)移位寄存器以及有符号乘法器
其中给出差分编码代码如下(也可八位量化)VerilogHDL

module PiQpskCode ( rst,clk,din,xk,yk); input        rst;   input        clk;   input    wire [1:0]  din;    output reg [9:0]xk;output reg [9:0]yk;reg[1:0]cuu=2'b0;reg [2:0]addr=3'b0;reg [2:0]delt_phase;reg cclk=0;parameter A = 10'b0110100100;//??0,1???ò????·????ù??????·ù?????????±???ó????????420±?,???ó????????????parameter B = 10'b0100101001;parameter n = -10'b0000000001;parameter ZERO = 10'b0000000000;always@(posedge clk)begin
cuu=cuu+2'b1;
if(cuu==2'b01)cclk=~cclk;
endalways@(posedge cclk )case(din)2'b00:  delt_phase = 3'b101;2'b01:   delt_phase = 3'b011;2'b10:   delt_phase = 3'b001;default:delt_phase = 3'b111;endcase/*assign delt_phase =   (din == 2'b00)?3'b101:(din == 2'b01)?3'b011:(din == 2'b10)?3'b001: 3'b111;always@(posedge clk or posedge rst)if(rst)addr = 3'b0;else addr = addr + delt_phase;*/always@(posedge cclk or posedge rst)beginif(rst)beginxk<=10'b0000000000;yk<=10'b0000000000;endelse begin addr = addr + delt_phase;case(addr)3'b000:beginxk <= A;yk <=ZERO;end3'b001:beginxk <= B;yk <=B;end3'b010:beginxk <= ZERO;yk <=A;end3'b011:beginxk <= n*B;yk <=B;end3'b100:beginxk <= n*A;yk <=ZERO;end3'b101:beginxk <= n*B;yk <=n*B;end3'b110:beginxk <= ZERO;yk <=n*A;end3'b111:beginxk <= B;yk <= n*B;enddefault :beginxk <= 10'bxxxxxxxxxx;yk <= 10'bxxxxxxxxxx;endendcaseendendendmodule

其中给出main代码如下

`timescale 1ns / 1ns
//
// Company:
// Engineer:
//
// Create Date: 2020/05/19 15:00:48
// Design Name:
// Module Name: main
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//
module main(rst,clk,aclk,clk4,din,di_out,dq_out,di_lpf,dq_lpf);input        rst;  input     clk;  input     clk4;input     aclk; input     din;  output  signed[31:0]di_lpf;output  signed[31:0]dq_lpf;output  signed[9:0]di_out;output  signed[9:0]dq_out;wire [9:0]   di; wire [9:0]  dq; //串/并转换,2 Mbps的单比特数据转换为1 Mbps的双比特码元reg [1:0] ab;reg [2:0] count;reg dint;always @(posedge clk or posedge rst)if (rst)beginab <= 2'd0;count <= 3'd0;dint <= 1'b0;endelsebegin  count <= count + 3'd1;if (count ==3'd0)dint <= din;else if (count == 3'd4)ab <= {din,dint};end//基带编码PiQpskCode u1 (.rst (rst),.clk (clk),.din (ab),.xk (di),.yk (dq));wire source_validi,source_validq;wire signed [31:0] di_lpf;  wire signed [31:0] dq_lpf;  wire axis_tready,axis_treadyy;fir_compiler_0 u2(.aclk (aclk),.s_axis_data_tdata (di),.s_axis_data_tvalid (1'b1),.s_axis_data_tready (axis_tready),.m_axis_data_tdata(di_lpf),.m_axis_data_tvalid (source_validi));fir_compiler_0 u3(.aclk (aclk),.s_axis_data_tdata (dq),.s_axis_data_tvalid (1'b1),.s_axis_data_tready (axis_treadyy),.m_axis_data_tdata(dq_lpf),.m_axis_data_tvalid (source_validq));wire dout;wire [1:0]bitsync;   jietiao (.rst(rst),.clk(clk),.clk4(clk4),.di(di_lpf),.dq(dq_lpf),.dout(dout),.bitsync(bitsync)); endmodule

其中位同步代码分为几个模块可以加也可不加,如果想要的话可以直接下载我的资源。代码除参考全部由本人撰写,参考<数字调制解调技术的MATLAB与FPGA实现:ALTERA/VERILOG>因为最近quartus被收购所以换了vivado,涉及到ip核的设计,如果不会弄全部代码依旧可以去下载我的资源,谢谢。

lpf.coe:

radix = 10;
coefdata=2722168-0-9-19-28-37-44-51-55-57-56-52-46-37-25-1142137546982931001031019483664520-8-38-70-101-131-157-179-195-204-204-194-174-144-103-5111811602453344265186096957758479089589941017102410179949589088477756956095184263342451608111-51-103-144-174-194-204-204-195-179-157-131-101-70-38-820456683941011031009382695437214-11-25-37-46-52-56-57-55-51-44-37-28-19-9-08162227;

fdatool制作的余弦滚降滤波器。
位同步技术

pi/4dqpsk的matlab及FPGA仿真相关推荐

  1. 干涉仪解模糊matlab,基于多级虚拟基线的干涉仪测向方法与FPGA仿真实现

    哈尔滨工程大学 硕士 2017 基于多级虚拟基线的干涉仪测向方法与FPGA仿真实现 Direction Finding Method and FPGA Simulation Implementatio ...

  2. Modelsim联合Matlab进行FPGA图像处理仿真与测试的学习总结(以RGB转Ycbcr转Gray为例)

    文章目录 一.Modelsim联合Matlab进行FPGA图像仿真的步骤 二.具体实现方法 2.1 新建一个Modelsim项目并编写测试代码 2.2 新建v文件来编写待测试代码 2.3 建成项目后, ...

  3. 4fsk调制matlab_数字调制解调技术的MATLAB与FPGA实现

    <数字调制解调技术的MATLAB与FPGA实现>包含2个版本.Xilinx/VHDL版的设计平台为ISE14.7/VHDL,配套开发板为CXD301:Altera/Verilog版的设计平 ...

  4. 数字信号处理——串行FIR滤波器MATLAB与FPGA实现

    前言 本文介绍了设计滤波器的FPGA实现步骤,并结合杜勇老师的书籍中的串行FIR滤波器部分进行一步步实现硬件设计,对书中的架构做了简单的优化,并进行了仿真验证. FIR滤波器的FPGA实现步骤 从工程 ...

  5. lms算法的verilog实现_数字通信同步技术的MATLAB与FPGA实现

    <数字通信同步技术的MATLAB与FPGA实现>包含2个版本:Xilinx/VHDL版的设计平台为ISE14.7/VHDL,配套开发板为CXD301:Altera/Verilog版(第2版 ...

  6. matlab仿真动画,用matlab制作简单仿真动画

    用matlab制作简单仿真动画,并生成.avi格式的电影文件 MATALB知识点2008-05-01 13:17:54 阅读152 评论0 字号:大中小订阅 第一种形式:利用for循环,在一定时间内控 ...

  7. MATLAB高等光学仿真——反射率,透射率变化

    MATLAB高等光学仿真--反射率,透射率变化 1.subplot(m,n,p)或者subplot(m n p). subplot是将多个图画到一个平面上的工具.其中,m表示是图排成m行,n表示图排成 ...

  8. 从刚体动力学方程到 MATLAB 多种方法仿真验证

    终于结束了自己的毕设设计,这半年的时间一直在和刚体动力学仿真硬磕,关于这方面的网络资源不太多,因此在这里将自己不断摸索学到的方法做一个概括阐述,希望能够为同样饱受困扰的读者提供一些帮助. 文章目录 〇 ...

  9. MATLAB与FPGA数字信号处理(数字滤波器设计)、数字IC、无线通信、图像处理、信道编码系列

    FPCA.数字IC笔试题系列 不容错过的FPGA/数字IC秋招笔试面试汇总帖(2022届) 1. FPGA.数字IC系列(1)--乐鑫科技2021数字IC提前批笔试 2. FPGA.数字IC系列(2) ...

最新文章

  1. 【原】iOS学习之Quartz2D(1)
  2. [第180期]我在51CTO的提问:如何做好企业信息安全管理
  3. 这段代码什么意思啊?
  4. [CodeForces gym 101630 J] 过路费(最短路)
  5. hfss和matlab,hfss和MATLAB联合仿真
  6. 个人简历中计算机应用能力,年中计算机应用专业个人简历模板.docx
  7. 对string类型字符串操作
  8. 一些常用的正交试验表生成: 单一水平、混合水平、交互作用
  9. 海康威视错误代码说明(四)(错误代码:47~62)
  10. 计算机毕业设计springboot+vue+elementUI高校学生实习管理管理系统
  11. Labelimg讲解
  12. 从Visual SourceSafe (VSS)服务器下载文件(C#)
  13. JLINK+AXD 调试出现 RDI Warning 00005:Data Abort 问题的解决办法
  14. 【学习笔记】Stern-Brocot Tree
  15. 私房小菜菜谱和煲汤大全汇总
  16. Chatbot 分类
  17. nginx实现单主机多域名映射
  18. 行车电脑蓝牙ELM327 OBD使用记
  19. mysql查询persons表中是否存在_Sql语句的一些事(一)
  20. python图像处理之skimage

热门文章

  1. 深度学习模型评价标准
  2. vue面试题目(更新版)
  3. 【一起入门NLP】中科院自然语言处理作业四:RNN+Attention实现Seq2Seq中英文机器翻译(Pytorch)【代码+报告】
  4. tableau中的fixed函数和exclude函数傻傻分不清?
  5. 升升不息——给电脑升级的人一些建议
  6. mesos papers
  7. linux mint 安装ubuntu软件中心,Ubuntu和Linux Mint:安装Pinta 1.6工具
  8. matlab的车牌照识别,基于MatLab车牌号码识别算法研究与
  9. Java 正则验证邮箱
  10. 微型计算机显卡必须插在主板的,花小钱办大事 不同型号N卡组建SLI系统